MYSQL中char 与 varchar 的区别

char (13)长度固定,只要最大长度不超过13,其所占存储空间就不会改变,始终是13,不足则用空字符补充。

ps:所需存储空间也是由数据库一次性分配,所以在速度上要比varchar快,且不存在碎片的困扰,但由于长度固定也越容易造成存储空间的浪费,所以一般用来存储固定长度的内容。如:MD5哈希值

varchar(13) 可变长, 在不超过最大长度的情况下,其存储空间会根据存储内容的大小来改变。

ps:varchar会多用以个字节来存储长度信息,当其更改前后数据的长度时,数据库就需要进行额外的操作,根据存储引擎不同,有的采用拆分机制,有的采用分页机制,同时不可避免的会产生碎片,管理员只能用导入导出作业来清除碎片。

原文地址:https://www.cnblogs.com/hgxbo/p/5388400.html