流苏小筑

EXPLAIN:key_len字段详解

EXPLAIN:key_len字段详解

站内文章链接: MySQL性能分析工具的使用:EXPLAIN的概述及各列的作用

实际使用到的索引长度 (即:字节数)
帮你检查 是否充分的利用了索引,值越大越好,主要针对于联合索引,有一定的参考意义。

EXPLAIN SELECT * FROM s1 WHERE id = 10005;

EXPLAIN SELECT * FROM s1 WHERE key2 = 10126;

EXPLAIN SELECT * FROM s1 WHERE key1 = 'a';

同一索引比较:

EXPLAIN SELECT * FROM s1 WHERE key_part1 = 'a';

EXPLAIN SELECT * FROM s1 WHERE key_part1 = 'a' AND key_part2 = 'b';


联合索引中,第一个只是用了key_part1,第二个使用了key_part1和key_part2, ,key_len=606的好于key_len=303

key_len的长度计算公式:

varchar(10)变长字段且允许NULL = 10 * ( character set:utf8=3,gbk=2,latin1=1)+1(NULL)+2(变长字段)

varchar(10)变长字段且不允许NULL = 10 * ( character set:utf8=3,gbk=2,latin1=1)+2(变长字段)

char(10)固定字段且允许NULL = 10 * ( character set:utf8=3,gbk=2,latin1=1)+1(NULL)

char(10)固定字段且不允许NULL = 10 * ( character set:utf8=3,gbk=2,latin1=1)

当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »