mysql类型列是否有很长的数据?

时间:2011-05-14 04:18:23

标签: mysql

在文本很长的情况下,mysql列使用的正确类型是什么? 我实际上是使用一个列来存储一个非常大的序列化数组,我应该使用什么? LONGBLOB?

3 个答案:

答案 0 :(得分:2)

我怀疑你是否存储了4 GB的文本。 <{1}}(16 MB)或mediumtext(64 KB)类型应该足够了。

答案 1 :(得分:0)

听起来你已经回答了你的问题; LONGBLOB可容纳4GB;虽然您无法在此字段上完全索引,但请阅读下面的链接以查看有关指定BLOB数据类型长度的语法。另请注意,我认为最大索引长度大约为1000字节。

http://dev.mysql.com/doc/refman/5.0/en/create-index.html

答案 2 :(得分:0)

如果可以,请使用varchar,可能是二进制。除非你别无选择,否则请避免使用text和blob类型。

如果您使用blob或文本(而不是car或varchar)类型,则会阻止使用内存临时表来对结果进行排序。

但是,您可以避免将批量数据放在包含经常访问的列的表中,因为您不希望使用批量数据填充缓存,除非您确实需要该数据。最好将它放在一个专用的表中,并在需要时加入它。或者将其作为两个查询,一个用于获取所需行的键,另一个用于检索它们。

这只是我的意见。请联系Oracle公关人员以获取公司的官方观点。

James Day,MySQL高级首席支持工程师,Oracle