1
我有這個子查詢爲更大查詢的一部分:甲骨文直方圖返回錯誤的基數
SELECT *
from totals a
where A.COMPANY ='TTT'
AND A.LOGISTIC_COMP = '111'.
此表有〜32M行,並在此查詢的行數,這些參數返回〜9M行。
我看到,與不同的參數(公司,logistic_company)我得到不同的表現。
我檢查了一下,發現在這個列上有很大的分佈, 它導致優化器估計基數錯誤。
,所以我用這個語句上創建列的直方圖:
EXEC DBMS_STATS.GATHER_TABLE_STATS ('MY_SCHEMA', 'TOTALS',METHOD_OPT => 'FOR ALL COLUMNS SIZE 1 FOR COLUMNS company size 254, logistic_comp size 254');
但即使之後 - 基數留錯了!
優化器認爲有〜250萬行而不是〜9M。
,該計劃使用(這個基數)是最新的指標..
是有意義嗎?