美文网首页
【mysql】char 和 varchar的区别

【mysql】char 和 varchar的区别

作者: GeorgePeng | 来源:发表于2019-03-04 14:47 被阅读0次

    char 定长,最大可存储255个字节,指定长度,不满足使用空格填充。
    varchar 不定长,最大可存储65525个字节。

    由此可知,当存储的内容超过255个字节的时候,需要2个字节来存储长度,小于255的时候,只需要一个字节来存储长度。


    image.png

    其中65535的存储内容,是指row的存储空间。当列超过65535的时候,mysql会抛错,如下图所示


    image.png
    image.png

    可变索引的长度:
    索引长度 inodb从 768-3207
    myisam:1000


    image.png

    如果mysql启用了innodb_large_prefix选项,则前缀最长可为3072字节


    image.png

    参考资料:
    https://dev.mysql.com/doc/refman/8.0/en/char.html
    https://dev.mysql.com/doc/refman/8.0/en/column-count-limit.html
    https://dev.mysql.com/doc/refman/5.6/en/create-index.html

    相关文章

      网友评论

          本文标题:【mysql】char 和 varchar的区别

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