国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
MySQL表數(shù)據(jù)量估算及表大小趨勢跟蹤

因工作上設(shè)計數(shù)據(jù)庫結(jié)構(gòu),整理了MySQL各字段類型所需的物理存儲空間大?。ㄈ缦拢┘耙恍┕P記!?。?/font>



1.

MySQL字段類型對應(yīng)的存儲需求
  
列類型
  
  
值范圍(有符號;無符號)
  
  
存儲需求
  
  
TINYINT
  
  
-128到127;0到255
  
  
1個字節(jié)
  
  
SMALLINT
  
  
-32768到32767;0到65535
  
  
2個字節(jié)
  
  
MEDIUMINT
  
  
-8388608到8388607;0到16777215
  
  
3個字節(jié)
  
  
INT, INTEGER
  
  
-2147483648到2147483647;0到4294967295
  
  
4個字節(jié)
  
  
BIGINT
  
  
-9223372036854775808到9223372036854775807;0到18446744073709551615
  
  
8個字節(jié)
  
  
FLOAT(p)
  
  
-3.402823466E+38到-1.175494351E-38;0和1.175494351E-38到3.402823466E+38
  
  
如果0 <= p <= 24為4個字節(jié), 如果25 <= p <= 53為8個字節(jié)
  
  
FLOAT
  
  
  
  
4個字節(jié)
  
  
DOUBLE [PRECISION], item REAL
  
  
-1.7976931348623157E+308到-2.2250738585072014E-308;0和2.2250738585072014E-308到  1.7976931348623157E+308
  
  
8個字節(jié)
  
  
DECIMAL(M,D), NUMERIC(M,D)
  
  
  
  
變長;見注1
  
  
BIT(M)
  
  
1到64
  
  
大約(M+7)/8個字節(jié)
  
  
DATE
  
  
  
  
3個字節(jié)
  
  
DATETIME
  
  
  
  
8個字節(jié)
  
  
TIMESTAMP
  
  
  
  
4個字節(jié)
  
  
TIME
  
  
  
  
3個字節(jié)
  
  
YEAR
  
  
  
  
1個字節(jié)
  
  
CHAR(M)
  
  
0到255個字符
  
  
M個字節(jié),0 <= M <= 255
  
  
VARCHAR(M)
  
  
0到65,535個字符
  
  
L+1個字節(jié),其中L <=  M 且0  <= M <= 65535;見注2
  
  
BINARY(M)
  
  
類似于CHAR類型,保存二進制字節(jié)字符串
  
  
M個字節(jié),0 <= M <= 255
  
  
VARBINARY(M)
  
  
類似于VARCHAR類型,保存二進制字節(jié)字符串
  
  
L+1個字節(jié),其中L <=  M 且0  <= M <= 255
  
  
TINYBLOB, TINYTEXT
  
  
255(2的8次方–1)字符
  
  
L+1個字節(jié),其中L <  2的8次方
  
  
BLOB, TEXT
  
  
65,535(2的16次方–1)字符
  
  
L+2個字節(jié),其中L <  2的16次方
  
  
MEDIUMBLOB, MEDIUMTEXT
  
  
16,777,215(2的24次方–1) 字符
  
  
L+3個字節(jié),其中L <  2的24次方
  
  
LONGBLOB, LONGTEXT
  
  
4GB(2的32次方–1) 字符
  
  
L+4個字節(jié),其中L <  2的32次方
  
  
ENUM('value1','value2',...)
  
  
ENUM列最多可以有65,535個截然不同的值。ENUM值在內(nèi)部用整數(shù)表示
  
  
1或2個字節(jié),取決于枚舉值的個數(shù)(最多65,535個值)。枚舉用一個字節(jié),可以有255個可能的值。當(dāng)枚舉的值位于256和65,535之間時,用兩個字節(jié)。
  
  
SET('value1','value2',...)
  
  
SET列最多可以有64個成員。SET值在內(nèi)部用整數(shù)表示
  
  
1、2、3、4或者8個字節(jié),取決于set成員的數(shù)目(最多64個成員)。如果set大小是N,對象占(N+7)/8個字節(jié),四舍五入到1、2、3、4或者8個字節(jié)。
  

1
DECIMALNUMERIC的存儲需求與具體版本有關(guān):
MySQL 5.1中,采用二進制格式保存DECIMAL列的值,將9個十進制數(shù)字打包在4字節(jié)中。對于每個值的整數(shù)部分和小數(shù)部分,其存儲要求是分別確定的。每9個數(shù)字需要4字節(jié),任何剩余的數(shù)字將占用4字節(jié)的一部分。例如,DECIMAL(18,9)列在小數(shù)點的每一側(cè)均有9位數(shù)字,因此,整數(shù)部分和小數(shù)部分均需要4字節(jié)。DECIMAL(20,10)列在小數(shù)點的每一側(cè)均有10位數(shù)字。對于每一部分,9位數(shù)字需要4字節(jié),剩余的1位數(shù)字需要1字節(jié)。

  
剩余的位數(shù)
  
  
字節(jié)數(shù)目
  
  
0
  
  
0
  
  
1
  
  
1
  
  
2
  
  
1
  
  
3
  
  
2
  
  
4
  
  
2
  
  
5
  
  
3
  
  
6
  
  
3
  
  
7
  
  
4
  
  
8
  
  
4
  
  
9
  
  
4
  

2
VARCHAR、BLOBTEXT類是變長類型。每個類型的存儲需求取決于列值的實際長度(用前面的表中的L表示),而不是該類型的最大可能的大小。例如,VARCHAR(10)列可以容納最大長度為10的字符串。實際存儲需求是字符串(L)的長度,加上一個記錄字符串長度的字節(jié)。對于字符串'abcd'L4,存儲需要5個字節(jié)。
對于CHAR、VARCHARTEXT類型,前面的表中的值LM應(yīng)解釋為字符數(shù)目,并且列定義中的這些類型的長度表示字符數(shù)目。例如,要想保存一個TINYTEXT值需要L字符+ 1個字節(jié)。使用UTF8時為了節(jié)省空間,使用VARCHAR而不要用CHAR。否則,MySQL必須為一個CHAR(10) CHARACTER SET utf8列預(yù)備30個字節(jié),因為這是可能的最大長度。



2.

1)
考慮存儲引擎的不同,用InnoDB支持外鍵,容易關(guān)聯(lián)表與表;用MyISAM需處理表關(guān)聯(lián)的問題,可以把表間的關(guān)聯(lián)字段另創(chuàng)建為一個小表。
2)
根據(jù)業(yè)務(wù)需求,對表的字段選擇存儲容量最短的類型。如能選擇date,就絕不選擇datetimedate類型占4個字節(jié),datetime類型占8個字節(jié),timestamp類型占4字節(jié));能選擇tinyint,就絕不選擇int
3)
MyISAM來說,選擇char定長類型比varchar等變長類型會有更快的讀寫速度,其代價就是浪費更多的空間。所以如果在業(yè)務(wù)允許的情況下或能在應(yīng)用程序上控制INSERT的信息,最好選擇定長char類型。對InnoDB來說,選擇char定長和varchar等變長類型,底層存儲是同樣對待的。但選擇varchar等變長類型可以減少存儲空間。
4)
對字段的定義,最好選擇NOT NULL;對整型類型,最好選擇UNSIGNED。
。。。



3.

表的數(shù)據(jù)文件和索引文件的大小趨勢,通過跟蹤information_schema.tables表字段:DATA_LENGTH、INDEX_LENGTH。注意MySQL版本。
。。。




后記:
最初是想通過字段所需的存儲字節(jié)來判斷庫的大小,好做好磁盤的規(guī)劃。但實際建的表所需的物理存儲比估算的大挺多的,難道存儲的字符集也占空間或其它的因素。


MySQL是很強大又人性化的,通過數(shù)據(jù)字典表information_schema.tables來跟蹤,做好監(jiān)控。
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服