EXPLAIN之ref
- 题记
- **ref**
题记
- 书接上文《 EXPLAIN之type》
- 2024美国大选已定,川普剑登上铁王座,在此过程中出谋划策的幕僚很重要,是他们决定了最终的执行计划
- 在《查询成本之索引选择》中提到,explain的输出,就是优化器(幕僚)选择的执行计划
- 除了SELECT开头的查询,DELETE、INSERT、UPDATE也都有执行计划,这里只关注SELECT
- 从输出的计划中可见很多字段,传达了什么样的信息,接下来看ref
ref
-
首先友情提示,不要和type字段的ref值(ref访问方法)弄混淆
-
但和访问方法是有关联的,但又不是所有的都有关联
-
当type是 const
EXPLAIN SELECT * from ucoding WHERE k2 IN ('6')
-
当type是 ref
EXPLAIN SELECT * from ucoding WHERE k1 = '6'
EXPLAIN SELECT * from ucoding t1 join icoding t2 WHERE t1.k1 = t2.i_k1
EXPLAIN SELECT * from ucoding t1 join icoding t2 on t1.k1 = UPPER(t2.i_k1)
-
当 type是 eq_ref、unique_subquery、index_subquery,看执行计划ref列的值,就能知道使用了索引,索引匹配的是啥
-
-
见了如上的列子,估计心里有那么点感觉了
- ref列展示的就是与索引列进行等值匹配的是啥东西
- 使用等号操作符
- 使用了索引列
- 是啥东西呢?
- 是常数
- 是某个列
- 是函数
- ref列展示的就是与索引列进行等值匹配的是啥东西