1. 程式人生 > >長度超過32個字元的字元列的直方圖的SQL計劃不正確導致表完全掃描(文件ID 2413826.1)

長度超過32個字元的字元列的直方圖的SQL計劃不正確導致表完全掃描(文件ID 2413826.1)

由於直方圖的限制,直方圖中只儲存12c之前的前32個字元(或12c以上的64個字元)。 具有相同前32個字元的值將被視為相同,這會導致更多列值被視為常用值。 這會導致估計不正確的基數,並錯誤地選擇TABLE FULL SCAN。

執行以下命令刪除12c之前超過32個字元(或12c以上64個字元)的列的錯誤直方圖:

exec DBMS_STATS.DELETE_COLUMN_STATS(ownname=>'<owner>',tabname=>'<table name>',colname=>'<column name>',col_stat_type=>'HISTOGRAM');