开发者学堂课程【MySQL 高级应用 - 索引和锁:explain 之 key-len 介绍】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/598/detail/8602
explain 之 key-len 介绍
一.释义
key 本身意思为钥匙,关键。
1. 表示索引中使用的字节数,可通过该列计算查询中使用的索引的长度。在不损失精确性的情况下,长度越短越好【精确度影响代价】
2. key len 显示的值为索引字段的最大可能长度,并非实际使用长度,即 key len 是根据表定义计算而得,不是通过表内检索出的。
简单的一句话 就是,同样的查询结果,key len 用的越少越好。
假如我们只用一个条件,
mysq1> explain select Fron t1 where co11' ab ';
Iid Iselect _ type Itable Itype Ipossible _ keys Ikey I key
_ len I refIrous IExtra
小1ISIHPLE I t1 Iref Iidx _co11_co12 Iidx _co11_co12I13 I const I143 I
1row in set (0.00 sec )
mysq1> explain select Fron t1 where co11=' ab
' and co12=' ac ';
I id Iselect _ type Itable I type Ipossible _ keys Ikey key _ len Iref I rous IExtra I
I1ISIHPLE 1t1 I ref Iidx _co11_co12 Iidx _co11_co12I26 I const , const I1 I
总结:
条件越多,结果越精确。
同样的查询结果,key len 用的越少越好。