问题补充说明:varchar是什么类型
VARCHAR是一种比CHAR更加灵活的数据类型,同样用于表示字符数据,但是VARCHAR可以保存可变长度的字符串。其中M代表完严该数据类型所允许保存的字符串的最大长度,只要长度小于该最大值的字符串都可以被保存在该数据类型中。因此,对于那些难以估计确切长度的数据对象来说,使用VARCHAR数据类型更加明智。为房若活益假单和请松对VARCHAR数据类型所支持的最大长度也是255个字符。
VARCHAR特点:
1、使用比固定长度类型(char)占用更少存储空间(除了使用ROW_FORMAT=FIXED创建的MyISAM表);
2、使用额外的1-2字来自节来存储值长度,列长度<=255使用1字节保存,其它情况使用2字节保存。例如va360问答rchar(10)会占用11字节存储空间,varchar(500)会占用502字节存储空间;
3、节约空间,所以性能会有帮助。在稳更新的时候会产生额外的工作;
4、5.0以上版本,取值或设置值都会保存字符串末尾组创苦轻山胶扩极应的空格,4.1之前的往文顶价六版本都会把字符串末尾的空格删除掉;
5、最大长度远大于平均长度,很少发生更新的时候适合使用varchar,因为碎片更少了。
varc住调轴har示例: