Extra 字段
指一些不适合在其它列中显示但十分重要的额外信息。
Extra 字段说明
| Extra字段 | 意义 |
|---|---|
| Using where | 不用读取表中所有信息,仅通过索引就可以获取所需数据 |
| Using temporary | 需要使用临时表来存储结果集,常见于排序和分组查询 |
| Using filesort | 当Query中包含 order by 操作,而且无法利用索引完成的排序操作 |
| Using join buffer | 强调在获取连接条件时没有使用索引,并且需要连接缓冲区来存储中间结果 |
| Impossible where | 强调了where语句会导致没有符合条件的行 |
| Distinct | 一旦找到了与行相联合匹配的行,就不再搜索 |
| Select tables optimized away | 仅通过使用索引,优化器可能仅从聚合函数结果中返回一行 |
| No tables used | Query语句中使用from dual 或不含任何from子句 |
- Using where 内容。
EXPLAIN SELECT *
FROM student
WHERE name = 'Bob';

使用了 where 条件。
- Using temporary 内容。
EXPLAIN SELECT name, COUNT(name)
FROM subject
LEFT JOIN student_score ON subject.id = student_score.subject_id
GROUP BY name;

- Using filesort 内容。
EXPLAIN SELECT name
FROM student
ORDER BY name;

- Using join buffer 内容。
EXPLAIN SELECT student.*, teacher.*, subject.*
FROM student, teacher, subject;

使用的是 Using join buffer (hash join)连接缓存。
- Impossible where 内容。
EXPLAIN SELECT *
FROM teacher
WHERE name = 'wangsi'
AND name = 'lisi';

where 子句的值总是 false,不能用来获取任何元组。
- Distinct 内容。
EXPLAIN SELECT DISTINCT teacher.name
FROM teacher
LEFT JOIN subject ON teacher.id = subject.teacher_id;

表示一旦找到了一行,就不再搜索了。
- Select tables optimized away 内容。
EXPLAIN SELECT MIN(id)
FROM subject;

SELECT 操作已经优化到不能再优化了。
- No tables used 内容。
EXPLAIN SELECT 1 + 1;

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




