InnoDB最大密钥长度
这是一个相当简单的问题,但我在谷歌搜索中找不到明确的答案。在 MySQL 5.1.53 上,使用 InnoDB 和 varchar(1024) 字段(我正在为 Exchange 2010 事件 ID 建立索引)。我想知道当我索引该字段时最大密钥长度是多少。我想知道如果密钥长度不够长,是否应该缩短字段并使用 sha512 哈希之类的东西。
This is a fairly straight forward question but I'm having a problem finding a clear answer googling around. On MySQL 5.1.53, using InnoDB, and a varchar(1024) field (I'm indexing Exchange 2010 Event IDs). I'm wondering what the maximum key length is when I index this field. I'm wondering if I should shorten the field and use something like an sha512 hash if the key length isn't long enough.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
InnoDB内部最大键长度为3500字节,但MySQL本身将其限制为3072字节。此限制适用于多列索引中组合索引键的长度。
并且,如上所述:
单列索引的索引键最多可达 767 字节。相同的长度限制适用于任何索引键前缀。请参见第 12.1.13 节“CREATE INDEX 语法”。
http://dev.mysql.com/doc/refman/5.1 /en/innodb-restrictions.html
The InnoDB internal maximum key length is 3500 bytes, but MySQL itself restricts this to 3072 bytes. This limit applies to the length of the combined index key in a multi-column index.
And, as noted:
An index key for a single-column index can be up to 767 bytes. The same length limit applies to any index key prefix. See Section 12.1.13, “CREATE INDEX Syntax”.
http://dev.mysql.com/doc/refman/5.1/en/innodb-restrictions.html