oracle用dbms_stats包收集統計資訊
阿新 • • 發佈:2018-12-01
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);