您需要限制索引的长度,否则您可能会收到错误 1071(“指定的键太长”)。关于CREATE INDEX的 MySQL 手册条目对此进行了描述:
可以创建仅使用列值的前导部分的索引,使用 col_name(length) 语法指定索引前缀长度:
可以为 CHAR、VARCHAR、BINARY 和 VARBINARY 列指定前缀。
BLOB 和 TEXT 列也可以建立索引,但必须给出前缀长度。
对于非二进制字符串类型,前缀长度以字符为单位给出;对于二进制字符串类型,前缀长度以字节为单位给出。也就是说,索引条目由 CHAR、VARCHAR 和 TEXT 列的每个列值的第一个长度字符以及 BINARY、VARBINARY 和 BLOB 列的每个列值的第一个长度字节组成。
它还添加了这一点:
前缀支持和前缀长度(如果支持)取决于存储引擎。例如,对于 MyISAM 表,前缀最长可达 1000 字节;对于 InnoDB 表,前缀最长可达 767 字节。
| 归档时间: |
|
| 查看次数: |
6580 次 |
| 最近记录: |