在使用dbms_stats分析表的時候,我們經常要儲存之前的分析,以防分析後導致系統效能低下然後進行快速恢復。
首先建立乙個分析表,該表是用來儲存之前的分析值:
sql> begin
2 dbms_stats.create_stat_table(ownname => 'test',stattab => 'stat_table');
3 end;
4 /pl/sql 過程已成功完成。
分析表資訊
sql> begin
2 --dbms_stats.delete_table_stats(ownname => 'test',tabname => 'a');
3 dbms_stats.gather_table_stats(ownname => 'test',tabname => 'a');
4 end;
5 /pl/sql 過程已成功完成。
匯出表分析資訊到stat_table中。
sql> begin
2 dbms_stats.export_table_stats(ownname => 'test',tabname => 'a',stattab => 'stat_table');
3 end;
4 /pl/sql 過程已成功完成。
sql>
同理也有
export_column_stats:匯出列的分析資訊
export_index_stats:匯出索引分析資訊
export_system_stats:匯出系統分析資訊
export_table_stats:匯出表分析資訊
export_schema_stats:匯出方案分析資訊
export_database_stats:匯出資料庫分析資訊
import_column_stats:匯入列分析資訊
import_index_stats:匯入索引分析資訊
import_system_stats:匯入系統分析資訊
import_table_stats:匯入表分析資訊
import_schema_stats:匯入方案分析資訊
import_database_stats:匯入資料庫分析資訊
gather_index_stats:分析索引資訊
gather_table_stats:分析表資訊,當cascade為true時,分析表、列(索引)資訊
gather_schema_stats:分析方案資訊
gather_database_stats:分析資料庫資訊
gather_system_stats:分析系統資訊
sql> select count(*) from stat_table;
count(*)
----------
1刪除分析資訊
sql> begin
2 dbms_stats.delete_table_stats(ownname => 'test',tabname => 'a');
3 end;
4 /pl/sql 過程已成功完成。
匯入分析資訊
sql> begin
2 dbms_stats.import_table_stats(ownname => 'test',tabname => 'a',stattab => 'stat_table');
3 end;
4 /pl/sql 過程已成功完成。
sql>
講解DBMS STATS的分析表與備份分析資訊
在使用dbms stats分析表的時候,我們經常要儲存之前的分析,以防分析後導致系統效能低下然後進行快速恢復。首先建立乙個分析表,該表是用來儲存之前的分析值 sql begin 2 dbms stats.create stat table ownname test stattab stat tabl...
如何使用dbms stats分析統計資訊?
dbms stats是oracle8i新增的程式包,它使統計資料的生成和處理更加方便,很多人都在推薦使用dbms stats替代analyze,我倒是不怎麼用過,記錄一下 estimate percent 估算抽樣百分比 method opt for table 只統計表 for all index...
用dbms stats的備份表,備份統計資訊
建立統計備分表 exec dbms stats.create stat table user,mystat 建立測試表 create table t id number,name varchar2 30 begin for i in 1 10 loop insert into t id,name v...