一些常见的重要的额外信息:
Using filesort:MySQL无法利用索引完成的排序操作称为“文件排序”。
Using temporary:Mysql在对查询结果排序时使用临时表,常见于排序order by和分组查询group by。
Using index:表示索引被用来执行索引键值的查找,避免访问了表的数据行,效率不错。
Using where:表示使用了where过滤。
drop table if exists emps;
CREATE TABLE emps (
id INT PRIMARY KEY AUTO_INCREMENT COMMENT "主键id",
name VARCHAR (24) COMMENT '姓名',
age INT COMMENT '年龄',
job VARCHAR (20) COMMENT '职位'
);
INSERT INTO emps(name,age,job) VALUES('zhangsan',22,'manager');
INSERT INTO emps(name,age,job) VALUES('lisi',23,'clerk');
INSERT INTO emps(name,age,job) VALUES('wangwu',24,'salsman');
INSERT INTO emps(name,age,job) VALUES('赵六',23,'salsman');
-- extra
-- using filesort 排序时没有使用索引
explain select * from emps order by age;
-- using temporary 分组时没有使用索引
explain select count(*),job from emps group by job;
-- using index
explain select id,name from emps;
-- using where
explain select * from emps where name = "张三";