他的问题是有没有好的方法让执行计划不改变,个人认为是锁定统计信息。
如何锁定统计信息,下面来分布说明:
1. 首先收集统计信息:
BEGIN
DBMS_STATS.GATHER_TABLE_STATS(ownname => 'LBAS',
tabname => 'DW_BO_ORDER',
estimate_percent => 20,
method_opt => 'for all columns size auto',
no_invalidate => FALSE,
degree => 4,
granularity => 'ALL',
cascade => TRUE);
END;
/
DBMS_STATS.GATHER_TABLE_STATS(ownname => 'LBAS',
tabname => 'dw_crm_day_user',
estimate_percent => 20,
method_opt => 'for all columns size auto',
no_invalidate => FALSE,
degree => 4,
granularity => 'ALL',
cascade => TRUE);
END;
/
FROM DW_BO_ORDER A,
DW_CRM_DAY_USER B
WHERE A.PROD_ID = B.PROD_ID AND
STATUS_CD = 'C' AND
BO_ORDER_TYPE = 2;
6 rows selected