varchar(10) 和 varchar(20) 的区别?

varchar(10) 中 10 的涵义最多存放 10 个字符,varchar(10) 和 varchar(20) 存储 hello 所占空间一样,但后者在排序时会消耗更多内存,因为 order by col 采用 fixed_length 计算 col 长度

发表回复

后才能评论

评论(3)

  • mpweixin用户 2022年9月26日 下午7:59

    1.最大长度:varchar(10) 中 10 的涵义最多存放 10 个字符,后者20
    2.内存操作: 对于 varchar 数据类型来说,硬盘上的存储空间虽然都是根据实际字符长度来分配存储空间的,但是对于内存来说,是使用固定大小的内存块来保存值。在建立临时表,或者排序的时候,会有很大影响。
    3.索引长度: MySQL建立索引时假设没有限制索引的大小,索引长度会默认采用的该字段的长度。

  • CX阿祥 2022年6月28日 下午2:44

    varchar10和100一样说的是在磁盘空间是一样的,但是加载到内存里面数据库对于这个都是用固定大小的块保存的,所以会选100,造成内存花费大

  • mpweixin用户 2022年6月9日 下午1:11

    有人能够再解读一下吗