登录
首页 >  数据库 >  MySQL

utf8mb4 是定长存储吗?

时间:2024-11-14 18:22:08 223浏览 收藏

在数据库实战开发的过程中,我们经常会遇到一些这样那样的问题,然后要卡好半天,等问题解决了才发现原来一些细节知识点还是没有掌握好。今天golang学习网就整理分享《utf8mb4 是定长存储吗?》,聊聊,希望可以帮助到正在努力赚钱的你。

utf8mb4 是定长存储吗?

utf8mb4 的存储特性

关于 utf8mb4 是否为定长存储的问题,我们从相关文档中了解到:

  • utf8mb4 是一种变长的编码,取决于存储的字符。
  • 与 utf8mb3 相比,utf8mb4 可以存储更大的字符范围,包括补充字符。

存储空间占用

当存储 BMP 字符(Unicode 中范围 from U+0000 to U+FFFF 的常见字符)时,utf8mb4 和 utf8mb3 具有相同的存储特性:

  • 一个英文字符占 1 个字节。
  • 一个 BMP 字符最多占 3 个字节。

然而,对于补充字符(超出 BMP 范围的字符),utf8mb4 需要 4 个字节来存储,而 utf8mb3 无法存储它们。

因此,utf8mb4 不是定长存储,其存储空间占用根据存储的字符而变化。存储的字符越多,占用的空间就越大。这主要是因为 utf8mb4 允许存储更宽的字符范围,包括表情符号和中文汉字。

今天带大家了解了的相关知识,希望对你有所帮助;关于数据库的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>