1. 程式人生 > >oracle用dbms_stats包收集統計資訊

oracle用dbms_stats包收集統計資訊

dbms_stats包裡最常用的就是如下4個儲存過程:

gather_table_stats:用於收集目標表、目標表的列和目標表上的索引的統計資訊。

gather_index_stats:用於收集指定索引的統計資訊。

gather_schema_stats:用於收集指定schema下所有物件的統計資訊。

gather_database_stats:用於收集全庫所有物件的統計資訊。

 

1、對錶收集統計資訊,並且以估算模式,取樣的比例為15%

execdbms_stats.gather_table_stats(ownname=>'SCHEMA',tabname=>'TAB_NAME',estimate_percent=>15,method_opt=<'FOR TABLE',

cascade=<false);

 

2、以計算模式收集索引的統計資訊

exec dbms_stats.gather_index_stats(ownname=>'SCHEMA',indname=>'IDX_NAME',estimate_percent=>100);

 

3、刪除表、表的所有列、表的所有索引的統計資訊

exec dbms_stats.delete_table_stats(ownname=>'SCHEMA',tabname=>'TAB_NAME');

 

4、一次性以計算模式收集表、表的所有列和該表所有索引的統計資訊

execdbms_stats.gather_table_stats(ownname=>'SCHEMA',tabname=>'TAB_NAME',estimate_percent=>100,cascade=>true);