王昱棋

导航

如何估计数据需要存储空间

如果大概估算出数据所占用的存储空间

1.存储的单位换算

1字节(b)=8比特(bit)
1千字节(kb)=1024字节(b)
1兆字节(mb)=1024千字节(kb)
1千兆字节(gb)=1024兆字节(mb)
1太字节(tb)=1024千兆字节(gb)
1拍字节(pb)=1024太字节(tb)
1艾字节(eb)=1024拍字节(pb)

2.数字、字母、汉字占的存储

数字、字母
一个英文字母,数字

占7/8字节,就是7个2进制位,第八个有其他用,比如奇偶校验,因此可以算占一个字节。(8个Bit位)

多位数字

整数要根据类型,一般是极其的字长。比如16位机整数就是16位Bit,两个字节。32位机就是4字节。还有int64

汉字

GBK编码,一个汉字占两个字节。
UTF-16编码,通常汉字占两个字节,CJKV扩展B区、扩展C区、扩展D区中的汉字占四个字节(一般字符的Unicode范围是U+0000至U+FFFF,而这些扩展部分的范围大于U+20000,因而要用两个UTF-16)。UTF-8编码是变长编码,通常汉字占三个字节,扩展B区以后的汉字占四个字节。
要确定编码,如果是估计占存储空间大小,但是又不知道具体的存储格式,可以按照2-4约等于3个字节来计算
作者:stevenliuyi
链接:https://www.zhihu.com/question/20451870/answer/15168034
来源:知乎

数据库中某字段长度varcha2(20)什么意思,是给该字段分配了多少空间?oracle数据库中某表A字段B长度varcha2(20)表示20个字节即byte,即如果该数据库是gbk编码则能存10个汉字,如果是utf-8编码可以存6.666666个汉字即不到7个汉字。
链接:https://blog.csdn.net/Ideality_hunter/article/details/56487492?locationNum=9&fps=1
来源:CSDN

3.大概计算一行数据所占的存储空间

根据一行数据的字段数量,字段类型,来大概估计一行数据所占用的空间(一行的数据量一般在1k左右),1亿条对应100G左右(粗略的估计)

posted on 2020-04-01 19:52  王昱棋  阅读(1652)  评论(0编辑  收藏  举报