正确的mysql列类型用于保存长度为100k的字符串?

时间:2011-02-10 04:14:55

标签: mysql

我有一个表,我需要存储一些序列化的json字符串(mysql 5)。我不确定要用于存储的列的数据类型。字符串总是小于100k。

在查看文档时,有几种不同的文本类型可供选择,是否有一种最适合该长度的字符串?看起来MEDIUMTEXT能够容纳100k字符串吗?

http://dev.mysql.com/doc/refman/5.0/en/string-type-overview.html

2 个答案:

答案 0 :(得分:2)

MEDIUMTEXT列将能够保存大小为100K的文本。我建议在存储之前压缩json数据。这将减少存储大小,并将导致更好的数据库性能。如果压缩,TEXT列应该能够主要保存数据。

答案 1 :(得分:2)

MEDIUMTEXT会正常工作。根据{{​​3}},文本类型的大小为:

TINYBLOB,TINYTEXT:2 8
BLOB,TEXT:2 16
MEDIUMBLOB,MEDIUMTEXT:2 24
LONGBLOB,LONGTEXT:2 32

如果按@Damodharan建议进行压缩,请注意压缩和解压缩需要时间。磁盘空间很便宜。