【 使用环境 】生产环境
【 OB or 其他组件 】ob
【 使用版本 】4.2.2
【问题描述】
如图表plat_order_pick_detail_his、plat_order_main属于同一表组,并且主副本都调度到了同一机器
查看如下关联查询执行计划:
explain EXTENDED
SELECT
pd.id
,pom.id
from plat_order_pick_detail_his pd
left join plat_order_main pom on pd.order_id=pom.id
where pd.packing_time BETWEEN date_add(now(),interval -30 day) AND now();
显示关联plat_order_main表时,使用的distributed table scan。
这两张表也都刚刚执行过统计信息收集:
CALL dbms_stats.gather_table_stats(‘trade_online’, ‘plat_order_main’, degree=>‘64’, granularity=>‘ALL’);
CALL dbms_stats.gather_table_stats(‘trade_online’, ‘plat_order_pick_detail_his’, degree=>‘64’, granularity=>‘ALL’);
explain 详情.txt (4.0 KB)
也使用系统租户清理过执行计划缓存
ALTER SYSTEM FLUSH PLAN CACHE