MySql内存分配

标签 mysql text size

任何人都知道 MySql 如何为“文本”和“blob”分配内存,以防我插入的数据小于列的最大大小?

例如,当我将 50K 字符串插入“文本”列时会发生什么?是否分配了整个 65K 列?

最佳答案

TEXT 数据类型有四种不同的大小 *小文字 *文本 *中文 *长文本

它们可以存储的值的最大长度不同。都是变长类型,所以一个单独的值需要存储等于该值的长度(以字符为单位),再加上 1 到 4 个字节来记录该值的长度。不会为了存储或检索而删除或添加尾随空格。

对于可变长度(VARCHAR、TEXT)列,MySQL 仅为每个存储值分配所需的空间量。

即对于文本数据类型 Number of characters + 2 bytes 并且最大长度可达 65,535 个字符

关于MySql内存分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9925797/

相关文章:

MySQL 给每组一个排名

python - 如何设置 Canvas 文本项的字体​​大小?

SQL Server 全文搜索和空格

android - 如何获取应用程序小部件的大小?

layout - Xamarin.Forms 中 Master-Detail 页面的母版页有多宽?

css - 确保网页的完整菜单在各种尺寸的屏幕上可见

mysql - 如何使用 exec.Command 在 golang 中执行 Mysql 脚本

mysql - 我将 WHERE 子句与 OR 一起使用,但出现错误

MySQL检查2表中的无关数据

css - 由于另一个 div 而没有明显原因的 Div 偏移