[zt] 統計分析工具dbms_stats 預設引數在 9i、10g中的變化

tolywang發表於2010-08-14

9i :

ownname VARCHAR2,
tabname VARCHAR2,
partname VARCHAR2 DEFAULT NULL,         --&gt ALL partitions
estimate_percent NUMBER DEFAULT NULL,   --&gt 100% sample
block_sample BOOLEAN DEFAULT FALSE,
method_opt VARCHAR2 DEFAULT 'FOR ALL COLUMNS SIZE 1',
degree NUMBER DEFAULT NULL,             --&gt parallel degree 1
granularity VARCHAR2 DEFAULT 'DEFAULT', --&gt level (PARTITION + GLOBAL)
cascade BOOLEAN DEFAULT FALSE,          --&gt does not cascade to indexes by default
no_invalidate BOOLEAN DEFAULT FALSE;  



10g:

ownname VARCHAR2,
tabname VARCHAR2,
partname VARCHAR2 DEFAULT NULL,         --&gt ALL partitions

estimate_percent    DBMS_STATS.AUTO_SAMPLE_SIZE

block_sample BOOLEAN DEFAULT FALSE,
method_opt VARCHAR2 DEFAULT 'FOR ALL COLUMNS SIZE auto',
degree NUMBER DEFAULT NULL,             --&gt parallel degree 1

no_invalidate BOOLEAN DEFAULT       AUTO  



1.    9i裡注意在收集統計資訊的時候設定cascade=>true ,否則將不收集索引的統計資訊

2.    10g裡注意estimate_percent為auto_sample_size並不是100%,而且10g裡的auto_sample_size取樣的值一般比較小,因此建議不要使用預設值,而是設定estimate_percent為30%以上,11g裡的auto_sample_size採用的值就比較大

3.    method_opt在9i裡的設定是for all columns size 1,就是隻收集最大值和最小值不收集直方圖的資訊 ,10g裡method_opt的設定for all columns size auto由oracle根據col_usage$裡的資料來決定是否收集直方圖,因此在oltp的業務中,一定要注意10g裡預設收集直方圖對應用造成的影響  (如bind_peeking,cursor_sharing=similar) 


 

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

相關文章