如果我插入的数据小于列的最大值,MySql如何为“text”和“blob”分配内存?
例如,当我将50K字符串插入“文本”列时会发生什么?是否分配了整个65K列?
答案 0 :(得分:1)
TEXT数据类型有四种不同的大小 * TINYTEXT *文本 * MEDIUMTEXT * LONGTEXT
它们可以存储的值的最大长度不同。所有都是可变长度类型,因此单个值要求存储等于值的长度(以字符为单位),加上1到4个字节来记录值的长度。不会删除或添加尾随空格以进行存储或检索。
对于可变长度(VARCHAR,TEXT)列,MySQL仅为每个存储值分配所需的空间量。
即。对于Text数据类型Number of characters
+ 2 bytes
,最大长度最多为65,535个字符