MySql提供了EXPLAIN语法用来进行查询分析,在SQL语句前加一个"EXPLAIN"即可。
explain select * from t_settlement_settle_order_detail where id = 2;
下面来介绍各个字段:
type:连接类型
system:表只有一行记录,相当于系统表
const:通过索引一次就找到,只匹配一行数据
eq_ref: 唯一性索引扫描,对于每个索引键,表中只有一条记录与之匹配
ref:非唯一性索引扫描,返回匹配某个单独值的所有行
用于=、<、> 操作符带索引的列
range:只检索给定范围的行,使用一个索引来选择行
一般使用 between、<、>
index:只遍历索引树
ALL:全表扫描,性能最差