EXPLAIN 显示 "Using temporary; Using filesort",这是否意味着查询需要回表?

EXPLAIN 显示 "Using temporary; Using filesort",这是否意味着查询需要回表?

数据库 2024-11-12 17:05:15 9个月前

通过 EXPLAIN 判断查询是否回表

要判断查询是否存在回表操作,可以使用 EXPLAIN 分析查询计划。以下是如何通过 EXPLAIN 输出的 Extra 字段判断:

Using Index:表示出现索引覆盖,查询所需的字段都在索引中,不需要回表。Using Index Condition:表示使用了索引查找,但需要过滤,因为要过滤的字段不在索引中。不回表。Using Index & Using where:表示索引中可以找到select的数据,但需要根据where条件过滤。不回表。Using where:在使用到了索引的情况下,Extra是Using where,表示回表查询数据。主键查询:不回表,因为要找的字段从聚簇索引上直接查找,不需要回表。但是 Extra 无法反映这一点。

结合你的问题,EXPLAIN 输出显示:Using temporary; Using filesort,这意味着使用了临时表和文件排序,需要回表。因此,该查询存在回表操作。

文章版权声明:除非注明,否则均为网络转载文章,转载或复制请以超链接形式并注明出处。