我不禁相信这个话题一遍又一遍地写,但我找不到任何好的,可靠的信息。
我应该使用哪种数据类型来存储200到400字的文字?那些可以接近两三千个单词的文章呢?
哪些选项会影响我的决定?我不打算搜索这些数据,但我不能完全排除我以后想要这样做的可能性。
不幸的是我的背景是MS Access,其中唯一的选择是备忘录字段。使用MySQL看起来并不那么简单。
答案 0 :(得分:2)
如果您使用的是MySQL 5.0.3或更高版本,请转到VARCHAR。它可以容纳65k字节。只要你每行只有1个长VARCHAR,你应该没问题。
否则请使用文字。
来自mysql手册:
BLOB和TEXT与VARBINARY不同 和VARCHAR有以下几种方式:
没有删除尾随空格 值为时的BLOB和TEXT列 存储或检索。在MySQL之前 5.0.3,这与VARBINARY和VARCHAR不同,尾随空格为 存储值时删除。
在比较时,TEXT是空间扩展的 完全符合比较对象 像CHAR和VARCHAR。
对于BLOB和TEXT列的索引, 您必须指定索引前缀 长度。对于CHAR和VARCHAR,一个前缀 长度是可选的。见7.5.1节, “列索引”。
BLOB和TEXT列不能有 默认值。
也很高兴知道(来自the manual):
BLOB或TEXT列的实例 查询的结果是 使用临时表处理 导致服务器使用表 磁盘而不是内存因为 MEMORY存储引擎不支持 那些数据类型
在制定使用TEXT的查询时,您应该考虑到这一点。
答案 1 :(得分:0)
TEXT
字段应该足以存储大多数文章。似乎与Access的备忘录类型相当。它可以容纳多达65535个字符,这可能在某处...我不知道...平均10-12,000个单词?
答案 2 :(得分:0)
对于您的情况,TEXT
数据类型是一个安全的选择,VARCHAR
通常在需要编制索引或存储明确定义的值时使用(IP地址,zip代码等)。