varchar(25000)或文本。这个变量数据的正确数据类型是什么?

时间:2017-04-24 03:59:57

标签: mysql

我有这个表,它包含一个列,可以存储不同大小的字符串,这些可以是简单的单词,如" hello"或长达25,000个字符的长文本。

我知道数据类型的字节大小,我已经从同一个站点读了一些答案,但是我没有找到允许我决定这个特定情况的具体参考。

对于varchar来说,25000个最大数据太多了?

也许是的,然后我应该使用文字。但是如果大多数字符串不超过20个字符并且文本长度为25000个字符的例外情况会怎样呢?

我应该使用哪种类型的数据? Varchar(25000)还是文字?

1 个答案:

答案 0 :(得分:1)

如果您没有构建一些必须处理数据库服务器上每个小字节的空间,我想这并不重要。如果您有大量255个字节以下的记录,那么如果转到varchar,您将为每条记录节省大约一个字节。

在这种情况下,我个人更喜欢text,主要是因为避免因定义的长度过小而遇到麻烦。

来自MySQL Documentation

  

数据类型:VARCHAR(M)VARBINARY(M)
  需要存储:如果列值需要0 - 255字节,则为L + 1个字节;如果值可能需要,则为L + 2个字节   超过255个字节

     

数据类型:BLOBTEXT
  需要存储:L + 2字节,其中L <1。 2 ^ 16