如果大概估算出數據所占用的存儲空間
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左右(粗略的估計)
