【 TiDB 使用环境】生产环境
【 TiDB 版本】v6.5.5
【复现路径】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】
有两张表其中supplier_sub_category有238万行,另一张表3万行。在对supplier_sub_category做表分析之前执行计划用时2.1s,但是analyze table supplier_sub_category之后新的执行计划显示0.4s。
请问什么情况会影响前后执行计划的差异如此之大?此表是昨天刚手工做完表分析的,平时数据不咋变化
【附件:截图/日志/监控】
语句
explain analyze
SELECT
a.supplier_id,
a.brand_id,
a.category_id AS third_category_id,
max(b.bd_id) AS bd_id
FROM
supplier.supplier_sub_category a
LEFT JOIN supplier.supplier_brand_category b ON a.supplier_id = b.supplier_id
AND a.root_category_id = b.category_id
AND b.category_level = 0
AND a.brand_id = b.brand_id
WHERE
a.is_delete = 0
AND b.is_delete = 0
GROUP BY
a.supplier_id,
a.brand_id,
a.category_id;
- 表分析前执行计划:
– 表分析后执行计划