美文网首页
varchar(20)和varchar(255)的空间开销区别

varchar(20)和varchar(255)的空间开销区别

作者: 一叶舟遥 | 来源:发表于2019-08-03 10:43 被阅读0次
  1. MySQL建立索引时如果没有限制索引的大小,索引长度会默认采用的该字段的长度,也就是说varchar(20)和varchar(255)对应的索引长度分别为203(utf-8)(+2+1),2553(utf-8)(+2+1),其中"+2"用来存储长度信息,“+1”用来标记是否为空,加载索引信息时用varchar(255)类型会占用更多的内存; (备注:当字段定义为非空的时候,是否为空的标记将不占用字节)

  2. 在内存中的操作方式,varchar是按照最长的方式在内存中进行操作的。比如说要进行排序的时候,varcahr(255)是按照255这个长度来进行的。

  3. MySQL通常会分配固定大小的内存块来保存内部值,255比20可大不少呢。

相关文章

网友评论

      本文标题:varchar(20)和varchar(255)的空间开销区别

      本文链接:https://www.haomeiwen.com/subject/sltjdctx.html