对于给定的查询 sql:
其 explain 输出:
是否回表判断:
通过读取 extra 列,可以判断查询是否回表:
using index 表示索引覆盖,不需要回表。
using index condition 表示索引查找,不需要回表过滤。
using index & using where 表示索引查找,但需要回表过滤。
using where 表示回表查询数据。
主键查询 不回表,但 extra 列无法反映。
对于给定的查询,extra 列为 using where; using index; using temporary; using filesort,表明查询使用了索引 (idx_track_source_id_created_at_len_parse_result_list),但需要回表过滤条件 created_at >= now() - interval 30 day。因此,该查询会发生回表操作。