我有这个表,它包含一个列,可以存储不同大小的字符串,这些可以是简单的单词,如" hello"或长达25,000个字符的长文本。
我知道数据类型的字节大小,我已经从同一个站点读了一些答案,但是我没有找到允许我决定这个特定情况的具体参考。
对于varchar来说,25000个最大数据太多了?
也许是的,然后我应该使用文字。但是如果大多数字符串不超过20个字符并且文本长度为25000个字符的例外情况会怎样呢?
我应该使用哪种类型的数据? Varchar(25000)还是文字?
答案 0 :(得分:1)
如果您没有构建一些必须处理数据库服务器上每个小字节的空间,我想这并不重要。如果您有大量255个字节以下的记录,那么如果转到varchar
,您将为每条记录节省大约一个字节。
在这种情况下,我个人更喜欢text
,主要是因为避免因定义的长度过小而遇到麻烦。
数据类型:
VARCHAR(M)
,VARBINARY(M)
需要存储:如果列值需要0 - 255字节,则为L + 1个字节;如果值可能需要,则为L + 2个字节 超过255个字节数据类型:
BLOB
,TEXT
需要存储:L + 2字节,其中L <1。 2 ^ 16