Mysql中 char,varchar,text,blob类型的区别
char和varchar的区别就是定长与否,
char是定长的,varchar是可变长度,char会开辟固定的长度,不足的用空格来填充,
而varchar是数据占多长就多长,不会来填补,但是会多一个字节来存储其字符的长度。
text和blob的区别就是,text只能存储纯文本文件,而blob还可以存储图片。
4个BLOB类型TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB仅仅在他们能保存值的最大长度方面有所不同。
4个TEXT类型TINYTEXT、TEXT、MEDIUMTEXT和LONGTEXT对应于 4个BLOB类型,并且有同样的最大长度和存储需求。在BLOB和TEXT类型之间的唯一差别是对BLOB值的排序和比较以大小写敏感方式执行,而对 TEXT值是大小写不敏感的。换句话说,一个TEXT是一个大小写不敏感的BLOB。
总结:varchar类型虽然看似好用,但由于需要进行转换,更加消耗资源,因此需要根据实际情况选择使用char类型或varchar。效率来说基本是char>varchar>text