将大小设置为db中的列的影响

时间:2014-11-09 10:42:41

标签: mysql storage

我使用MySql db后端运行一个网站。我需要知道在选择列类型(比如MediumTEXT)时为了节省一些繁重的数据会产生什么影响。 例如:

MEDIUMTEXT | 16,777,215(224-1)字节= 16 MiB

从上面看,MEDIUMTEXT是16,777,215(224-1)字节。这意味着它可以容纳多达16Mb的数据。这是否意味着,它为每个插入的条目保留了16mb的数据?

即如果我的条目只是“Hello World”,那么mysql(或者在任何数据库的情况下)如何处理写入光盘?

1 个答案:

答案 0 :(得分:0)

不,它不会保留所有空间。它每行分配3个字节来存储实际数据的(未来,变量)长度,然后只使用所需的空间来存储创建的每一行的数据。

  

L表示给定字符串值的实际长度(以字节为单位)。   ... MEDIUMTEXT值的存储需要L个字节来存储值加上三个字节来存储值的长度。

http://dev.mysql.com/doc/refman/5.6/en/storage-requirements.html