摘要:
在MySQL数据库的sql脚本编写中,我们可以通过以下方法查询一个sql 脚本是否会使用索引
实现思路:
通过explain 关键字 可获取sql脚本的运行是否会使用索引
例:
mysql> explain select * from `maomao365.com`;
+----+-------------+---------------+------+---------------+------+---------+------+------+-------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+---------------+------+---------------+------+---------+------+------+-------+
| 1 | SIMPLE | maomao365.com | ALL | NULL | NULL | NULL | NULL | 5 | |
+----+-------------+---------------+------+---------------+------+---------+------+------+-------+
1 row in set (0.00 sec)
/*
相关说明:
查询脚本是否使用索引,我们可以根据explain返回数据集中的type进行判断
type:ALL 表示使用的全表扫描(这是一种没有使用索引的查询方法),效率比较低下
type:ref或index 表示此查询语句会使用索引,
index 表示使用的是一个拥有唯一索引值的索引
ref 表示使用了索引,但是不是一个唯一索引,里面的索引值可能会包含重复值
*/