MySQL max varchar索引长度超过3072字节。这怎么可能?

时间:2014-12-04 16:04:26

标签: mysql innodb myisam

我正在索引有关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。

如果有人知道在我有兴趣知道之前我怎么能够索引这么大的专栏。感谢。

1 个答案:

答案 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