开发者学堂课程【MySQL 高级应用 - 索引和锁:explain 之 ref 介绍】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/598/detail/8604
explain 之 ref 介绍
一.释义
type 里面有个值是 ref,这个值说明我们用到的索引是非唯一性扫描,按照值返回,是所有匹配的行。简单来说就是用到的索引查出了多条值。
显示索引的哪一列被使用了,如果可能的话,是一个常数。
哪些列或常量被用于查找索引列上的值。
mysql) ekplaln select t2. From
select t3.ld-> from t3
where t3.other_ colun
В**)s1,t2
-> here 1.idt2.id:
1dIseleet_ type Itable type possible _ keys Ikey 0 key _ lenIrefIrous IExtra
1 IPRI RY
》 system HLL HILL HILL
PRiMRy const PRI
Н AR PRI Н ARY
DERIVED LL HILL
Э rous in set (0.00 sec )
id 如果相同,可以认为是一组,从上往下顺序执行;
在所有组中, id 值越大,优先级越高,越先执行
衍生= DERIVED
ysq1> explaln SELEC
Тt2.-
FR0H2
大优先级
)SELFe FROH t
HERE id .( SELEC
Тt3.id
RIH
HERE3.other_ colunn
в"):
select _ type tabIetype Ipassible _ keys Ikey key _1en Iref Iro5IExtra
co0st PRIAR PRIHAR
co0st/ PRIHAR Using index
SUBQUERv LL LL L using here
rous n set (0.00 sec
如果是子查询, id 的序号会递增, d 值越大优先级越高;越先被执行。
mysq1> explain select uhere t1.co11.t2.co11 and t1.co12 ac
"
Iid table Itype Ipossible _ keys Ikey Ikey _ len re rou5
ALL IHULL I HUL I HULL I HULL 640
Iidx _co11_co12 iidx _co11_co12 26 shared .t2.col1, const
2rows in set (0.01 sec )
由 key _ len 可知t1表的 idx _col1_col2 被充分使用,qol1 匹配 t2 表的 col1,col2 匹配了一个常量,即' ac '
查询中与其它表关联的字段,外键关系建立索引