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性能对比
不同的场景,选用的类型不一样。
可参考:http://zhumeng8337797.blog.163.com/blog/static/100768914201112710039854/
char:
优点:update较varchar效率高
缺点:定长 会浪费磁盘空间,存储内容不够定填充空格,由于占用磁盘空间大的原因,查询时候效率较varchar低。
varchar:
优点:select查询效率高,较char相比节省磁盘空间,因此查询速度快
缺点:update时,如果新数据比原数据大,数据库需要重新开辟空间,这一点会有性能损耗。效率没有定长的char高