在文本很长的情况下,mysql列使用的正确类型是什么? 我实际上是使用一个列来存储一个非常大的序列化数组,我应该使用什么? LONGBLOB?
答案 0 :(得分:2)
我怀疑你是否存储了4 GB的文本。 <{1}}(16 MB)或mediumtext
(64 KB)类型应该足够了。
答案 1 :(得分:0)
听起来你已经回答了你的问题; LONGBLOB可容纳4GB;虽然您无法在此字段上完全索引,但请阅读下面的链接以查看有关指定BLOB数据类型长度的语法。另请注意,我认为最大索引长度大约为1000字节。
答案 2 :(得分:0)
如果可以,请使用varchar,可能是二进制。除非你别无选择,否则请避免使用text和blob类型。
如果您使用blob或文本(而不是car或varchar)类型,则会阻止使用内存临时表来对结果进行排序。
但是,您可以避免将批量数据放在包含经常访问的列的表中,因为您不希望使用批量数据填充缓存,除非您确实需要该数据。最好将它放在一个专用的表中,并在需要时加入它。或者将其作为两个查询,一个用于获取所需行的键,另一个用于检索它们。
这只是我的意见。请联系Oracle公关人员以获取公司的官方观点。
James Day,MySQL高级首席支持工程师,Oracle