2014-02-28 731 views
0

我在网上看到一个文本记录相当于64kb。我的问题是:如果我只将一个字符插入记录中,它是否会占用64kb或更少的所有字符?我问这个是因为我认为我不需要所有的64kb,但可能更少。 预先感谢您MySQL:文本占用多少空间?

+0

原谅我...我只会粘贴文档:http://dev.mysql.com/doc/refman/5.1/en/storage-requirements.html –

+1

不,一个字符只需要几个字节。公式为:当L是文本的长度时,L + 2个字节。因此,平装书的标准页面将占用大约2KB的存储空间。 –

+0

会发生什么情况是你的字符串/文本被写入,另外两个字节被粘贴在最后。这2个字节包含你写下的文本的长度和最大值。可以存储在2个字节中的数字是2^16 = 65536,这是64KB限制的来源。这是优化,所以不,它不是整个64kb分配,它的长度(文本)+ 2个字节。 –

回答

0

的四个文本类型是TINYTEXT,TEXT,MEDIUMTEXT和LONGTEXT

  • 对于TINYTEXT:(在给定的字符串值的字节实际长度)+(1个 字节)
  • 对于文本:(在给定的字符串值的字节实际长度)+(2 字节)
  • 对于MEDIUMTEXT:(在给定的字符串 值的字节实际长度)+(3个字节)
  • 对于LONGTEXT:(在给定的 字符串值的字节实际长度)+(4个字节)

尾随空间不被考虑用于存储或检索。

更多信息:Storage Requirements for String Types(GarciaPL刚才提到它:))

希望它能帮助!