我正在索引有关varchar(3000)描述的MySQL表。我得到了您希望在此处看到的典型错误:ERROR 1709 (HY000): Index column size too large. The maximum column size is 767 bytes.
。
这不会因为阅读其他帖子(例如here)而混淆,我可以使用的最大长度是MyISAM中的varchar(255)或InnoDB中的3072字节。令我困惑的是,多年来我已经能够索引更大的varchar列(5000以上),但这种能力现在已经停止。我最近做出的一个改变,导致我出现了许多其他问题(大多数现已修复),一直在安装MySQL集群。我还没有使用它,但我想安装时已经安装了默认的MySQL。
如果有人知道在我有兴趣知道之前我怎么能够索引这么大的专栏。感谢。
答案 0 :(得分:0)
文档在这里 http://dev.mysql.com/doc/refman/5.0/en/create-index.html
前缀支持和前缀长度(支持的位置)是存储 引擎依赖。例如,前缀最长可达1000个字节 对于MyISAM表,以及InnoDB表的767个字节。 NDBCLUSTER 存储引擎不支持前缀(参见第17.1.5.6节, “MySQL群集中不支持或缺少的功能”)。
您过去可能使用过全文索引吗?
http://dev.mysql.com/doc/refman/5.6/en/innodb-fulltext-index.html