今天就跟大家聊聊有关mysql中varchar占用多少空间,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
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占用多少空间有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。