Hello! 欢迎来到小浪资源网!

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


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

通过 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,这意味着使用了临时表和文件排序,需要回表。因此,该查询存在回表操作。

相关阅读