MySQL中varchar(10)、varchar(100)和char的区别

  • 存储同样长度的字符,varchar比char要多占用一个字节的空间,以存储字符串结束符
  • 二者操作内存的方式不同:对于varchar数据类型来说,硬盘上的存储空间虽然都是根据字符串的实际长度来存储空间的,但在内存中是根据varchar类型定义的长度来分配占用的内存空间的,而不是根据字符串的实际长度来分配的。显然,这对于排序和临时表会较大的性能影响。
  • char占用磁盘的存储空间,是连续分配的
    varchar存储的数据是可变的,修改前后数据长度不一致,会出现磁盘碎片问题,碎片问题可以通过数据库的导入导出来实现存储空间的重新分配
  • char一般用于存储身份证、MD5哈希后的密码等定长字符串
    参考文章:MySql中varchar(10)和varchar(100)的区别==>>以及char的利弊

猜你喜欢

转载自blog.csdn.net/user2025/article/details/108931534