REPORT_PROCESS_MAIL 嚴重 screwed
BEGIN
DBMS_STATS.GATHER_TABLE_STATS(
ownname => 'REVIEWREPORT',
tabname => 'REPORT_PROCESS_MAIL',
method_opt => 'FOR COLUMNS SIZE 254 SEND_MAIL_FLAG',
estimate_percent => DBMS_STATS.AUTO_SAMPLE_SIZE,
-- estimate_percent => 100,
cascade => TRUE
);
END;
/
收集後驗證 Histogram 是否成功建立
SELECT column_name, num_distinct, num_buckets, histogram
FROM all_tab_col_statistics
WHERE owner = 'REVIEWREPORT'
AND table_name = 'REPORT_PROCESS_MAIL'
AND column_name = 'SEND_MAIL_FLAG';
如果 HISTOGRAM 顯示 FREQUENCY 或 HYBRID(且 NUM_BUCKETS > 1),才代表直方圖建立成功
以下SQL 可以觀察 直方圖分布
SELECT
column_name,
endpoint_number, -- 累積筆數/端點編號 (Cumulative row count or bucket number)
endpoint_value, -- 數值型態的值 (若是文字型態會被轉成 Double)
endpoint_actual_value-- Oracle 12c+ 用於顯示文字型態的真實字串 (若是文字欄位)
FROM all_tab_histograms
WHERE owner = 'REVIEWREPORT'
AND table_name = 'REPORT_BATCH_MAIL'
AND column_name = 'ERROR_FLAG' -- 指定要查看直方圖的欄位
ORDER BY endpoint_number;





