首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >这种情况下的MySQL大小?

这种情况下的MySQL大小?
EN

Stack Overflow用户
提问于 2014-01-16 14:22:29
回答 1查看 43关注 0票数 0

如果我在MySQL中创建了一个utf-8列,并且所有字符都是ascii减去1,那么我可以存储多少个字符?

有人能解释一下吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-16 14:27:42

二十一,844

将是utf8中varchar的最大值。

这是实际的字符而不是字节。

来自MySQL医生

例如,utf8字符每个字符最多需要三个字节,因此使用utf8字符集的VARCHAR列最多可以声明为21,844个字符。见E.7.4节,“表列计数和行大小的限制”。 MySQL将VARCHAR值存储为1字节或2字节长度前缀加数据.长度前缀表示值中的字节数。如果值不超过255个字节,则VARCHAR列使用一个长度字节;如果值需要超过255个字节,则使用两个长度字节。

来自Wiki

前128个字符(US)需要一个字节。接下来的1,920个字符需要两个字节来编码。这涵盖了几乎所有拉丁字母的其余部分,也包括希腊语、西里尔语、科普特语、亚美尼亚语、希伯来语、阿拉伯语、叙利亚语和Tāna字母,以及Diacritical的组合。在基本的多语言平面(它几乎包含公共use11中的所有字符)的其余部分中,字符需要三个字节。Unicode的其他平面中的字符需要4个字节,其中包括不太常见的CJK字符以及各种历史脚本和数学符号。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21164371

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档