• 技术文章 >数据库 >MySQL

    mysql中的varchar(N)占用多少空间?

    2021-01-23 16:08:50原创7771

    varchar(N)里的N是字符数,而不是字节数;字符类型(varchar text blob等)空间=字符实际长度+字段长度。

    varchar(N)占用的空间:
    如果是lantin1字符集时,空间=1N+(1 or 2)bytes,因为lantin1的1个字符占用1个字节,后面加的1或2bytes是用来表示字段长度的,如果超过255个字节,要2个bytes来表示字段长度;
    如果是utf8字符集时,空间=3N+(1 or 3)bytes,因为utf8的1个字符占用3个字节,后面加的1或2bytes是用来表示字段长度的。当可能超过255字节时,要2个bytes来表示字段长度。

    举个例子:varchar(N)可能超过255字节,字段长度=2;
    当varchar(100)字符集为utf8时,’aaaa‘分别占用几个字节?
    因为varchar(100)存储中文将占用3100 >225个字节,

    所以需要2个字节来表示字段长度。’aaaa‘占用的空间=3100+2=302bytes

    专题推荐:mysql varchar 字符长度
    上一篇:mysql truncate函数怎么用? 下一篇:新人必看!连接到MySQL数据库的两种方法

    相关文章推荐

    • 什么是mysql数据库• mysql是关系型数据库吗• python怎么连接mysql• 怎么验证mysql是否安装成功了• 如何删除mysql数据表

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网