InnoDB最大密钥长度

The*_*tte 1 mysql innodb

这是一个相当直接的问题,但我在查找一个明确的答案谷歌搜索时遇到了问题.在MySQL 5.1.53上,使用InnoDB和varchar(1024)字段(我正在索引Exchange 2010事件ID).我想知道当我索引这个字段时最大密钥长度是多少.我想知道如果密钥长度不够长,我是否应该缩短字段并使用类似sha512哈希的东西.

Joe*_*Joe 6

InnoDB内部最大密钥长度为3500字节,但MySQL本身将其限制为3072字节.此限制适用于多列索引中组合索引键的长度.

并且,如上所述:

单列索引的索引键最多可达767个字节.相同的长度限制适用于任何索引键前缀.请参见第12.1.13节"CREATE INDEX语法".

http://dev.mysql.com/doc/refman/5.1/en/innodb-restrictions.html