char
定長,最大255字節。存儲空間未滿,會在數據右側填充空格。
varchar
不定長,最大65536字節,當varchar長度小於4時,自動的把varchar轉換成char.。
Blob
存儲二進制字符串
TinyBlob 最大 255字節
Blob 最大 65K
MediumBlob 最大 16M
LongBlob 最大 4G
Text
存儲大文本
TINYTEXT: 256 bytes
TEXT: 65,535 bytes => ~64kb
MEDIUMTEXT: 16,777,215 bytes => ~16MB
LONGTEXT: 4,294,967,295 bytes => ~4GB
char varchar性能對比
不同的場景,選用的類型不一樣。
char:
優點:update較varchar效率高
缺點:定長 會浪費磁盤空間,存儲內容不夠定填充空格,由於占用磁盤空間大的原因,查詢時候效率較varchar低。
varchar:
優點:select查詢效率高,較char相比節省磁盤空間,因此查詢速度快
缺點:update時,如果新數據比原數據大,數據庫需要重新開辟空間,這一點會有性能損耗。效率沒有定長的char高