extra 列中可能包含的值及其含义如下:
- Using index:表示查询使用了覆盖索引,即查询的所有列都可以从索引中获取,而不需要回表查询数据行。
- Using where:表示查询使用了 WHERE 子句过滤数据。
- Using temporary:表示查询需要创建临时表来存储中间结果集。
- Using filesort:表示查询需要对结果集进行排序操作,而且无法使用索引完成排序。
- Using join buffer:表示查询使用了连接缓存。
- Impossible where:表示查询的 WHERE 子句条件不可能为真,因此查询将返回空结果集。
- Select tables optimized away:表示查询中的某些表可以被优化掉,因为它们没有被查询所使用。
- Distinct:表示查询使用了 DISTINCT 关键字去重。
- Fulltext:表示查询使用了全文索引。
- Range checked for each record:表示查询使用了索引范围扫描。
- Using index condition:表示查询使用了索引条件过滤数据。
- Using where with pushed condition:表示查询使用了 WHERE 子句条件过滤数据,并且这些条件可以在索引中完成。
- Using join buffer (Block Nested Loop):表示查询使用了块嵌套循环连接缓存。
- Using index for group-by:表示查询使用了索引完成 GROUP BY 操作。
- Using index for order-by:表示查询使用了索引完成 ORDER BY 操作。