我有了一列的表:在MySQL解释key_len此表
| last_name | varchar(1000) | NO | MUL | NULL | |
我创建了此列的索引:
CREATE INDEX lastname_idx ON employees(last_name);
当我一个做EXPLAIN
SELECT
是对last_name
我看到一个WHERE
条件:
key_len = 769
。
如果我没看错的key_len
显示从索引值使用的字节。
由于该指数是last_name
这是varchar(1000)
为什么是key_len=769
?
是不是应该是1000
?
如果我在InnoDB表中创建一个索引(不是MyISAM),我会收到一个警告:'Warning | 1071 |指定的密钥太长;最大密钥长度是767字节',这可能与此有关... – Wrikken 2013-04-27 21:29:11
@Wrikken:看起来你是对的。没有注意到警告。 – Cratylus 2013-04-28 21:11:25