美文网首页
数据库 varchar vs char

数据库 varchar vs char

作者: rainybowe | 来源:发表于2017-01-14 09:26 被阅读146次

    char 与 varchar都是数据库存储字符串的存储类型

    区别:

    • char是固定长度存储方式,实际存储长度没达到设定长度时会填充空格。最大存储长度只有255
    • varchar是变长存储,只制定最大存储长度,实际长度按照实际字符长度来。最大存储长度为65535(5.0.3以前为255)
    • varchar数据更新时,如果新存储的数据长度变大,会采用分页或者拆分的方式。实际对性能也没有影响,innodb采用页管理数据,数据移动是现在内存完成再写到磁盘,因此数据移动很快
      mysql innodb数据库性能实践
    • 查找char数据也没有比varchar数据速度更快,上面的实验也验证了两者性能没有差别,
      char vs varchar

    FALSE: a char is just a varchar2 blank padded - we do not store strings "at a specified position from each other". We do search for the end of the string - we use a leading byte length to figure things out.

    使用总结

    • 一般优先使用varchar,不耗费存储空间,一些特殊情况下可以使用char

    • 当字符串长度固定时。使用char。例如存储MD5哈希值,或者uuid,使用char

    • 当字符串长度较小。例如只有10个以内的字符

    相关文章

      网友评论

          本文标题:数据库 varchar vs char

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