我想知道mysql TEXT
数据类型是否保留任何空间,即使该行中没有数据?
我有点困惑。任何人都可以就此提供任何意见。
答案 0 :(得分:20)
通常,没有。 text
列实际上存储在远离行的位置,因此它们本身不会占用行上的空间。相反,该行保留一个指向text
列的指针( 占用空间,但只有4个字节 - ish(取决于系统)一行),但{{1在填充之前,列本身将保持为空。
现在,text
列将在插入时为其最大值分配空间,但仅占用其内容所需的空间。但是,varchar
列将始终使用指定的空间。所以,这是每个列的短语“华夫饼”:
char
希望这有帮助。