講解DBMS STATS的分析表與備份分析資訊

2021-08-25 15:52:23 字數 1716 閱讀 8419

在使用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...