当varchar长度超过255之后,跟text一致,但是设置varchar(n)的话,可以防止恶意使用text撑爆数据库
类型名称 说明 存储需求查询速度:char最快
最大长度:255个字符,utf-8编码的话,占用255 * 3个字节
占用空间:n
其他:
在获取数据出来之后,一定要记得trim空格,因为不足char(n)的长度,会自动填充空格
因为定长的char不容易产生碎片,所以char比varchar在空间上也更有效率
varchar查询速度:varchar次之
最大长度:65535个字节
占用空间:实际空间 + 1,会使用1-3个字节来存储长度,如果整体长度在0-255bytes之间,长度使用1个字节表示,如果长度在255以上,那么就是2个字节,varchar(10)需要11个存储空间,varchar(1001)需要1002个存储空间
其他
官方手册定义的varchar最大长度65535指的是所有varchar列长的总和
text查询速度:text最慢
最大长度:跟varchar基本相同,保存65535个字符
占用空间:存储2个字节长度