ORACLE統計抽樣預設比例

studywell發表於2019-05-14

ORACLE統計抽樣預設比例

oracle 統計 預設抽樣還是全表掃描?預設DBMS_STATS.AUTO_SAMPLE_SIZE自動化

官方文件

Sampling is specified using the ESTIMATE_PERCENT argument to the DBMS_STATS procedures. While you can set the sampling percentage to any value, Oracle recommends setting the ESTIMATE_PERCENT parameter of the DBMS_STATS gathering procedures to DBMS_STATS.AUTO_SAMPLE_SIZE to maximize performance gains while achieving necessary statistical accuracy. AUTO_SAMPLE_SIZE lets Oracle Database determine the best sample size necessary for good statistics, based on the statistical property of the object. Because each type of statistics has different requirements, the size of the actual sample taken may not be the same across the table, columns, or indexes. For example, to collect table and column statistics for all tables in the OE schema with auto-sampling, you could use:

 

https://blog.csdn.net/bisal/article/details/74931933

 

總結:

1. 9i中ESTIMATE_PERCENT預設100%。

2. 10g中ESTIMATE_PERCENT預設為DBMS_STATS.AUTO_SAMPLE_SIZE,一個非常非常小的數,通常會造成poor的統計資訊,因此並不建議使用AUTO。

3. 11g中ESTIMATE_PERCENT預設為DBMS_STATS.AUTO_SAMPLE_SIZE,但由於其採用了一種新的HASH演算法,即使傾向於預設100%取樣,其效能要比9i和10g中更優,因此一般情況下,建議使用DBMS_STATS.AUTO_SAMPLE_SIZE,由Oracle來自主選擇取樣比例。

4. 我之前說的,預設取樣比例是100%,其實是需要有一些前提條件的,從1-3可以看出,9i確實預設是100%,但10g肯定不是了,11g一般情況下是100%,但不能保證所有情況均為100%。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29519108/viewspace-2644240/,如需轉載,請註明出處,否則將追究法律責任。

相關文章