Mysql文本数据类型是否保留任何内存空间

时间:2009-08-20 12:00:00

标签: mysql memory text types

我想知道mysql TEXT数据类型是否保留任何空间,即使该行中没有数据?

我有点困惑。任何人都可以就此提供任何意见。

1 个答案:

答案 0 :(得分:20)

通常,没有。 text列实际上存储在远离行的位置,因此它们本身不会占用行上的空间。相反,该行保留一个指向text列的指针( 占用空间,但只有4个字节 - ish(取决于系统)一行),但{{1在填充之前,列本身将保持为空。

现在,text列将在插入时为其最大值分配空间,但仅占用其内容所需的空间。但是,varchar列将始终使用指定的空间。所以,这是每个列的短语“华夫饼”:

char

希望这有帮助。