oracle 11g統計資訊收集
1、不同資料庫版本的預設設定:
1)estimate_percent的預設值:
9i: 100%
10g: DBMS_STATS.AUTO_SAMPLE_SIZE(使用非常小的估算百分比)
11g:DBMS_STATS.AUTO_SAMPLE_SIZE(100%)
2) METHOD_OPT:defaults:
9i: "FOR ALL COLUMNS SIZE 1",等同於沒有列值的具體分佈資訊。
10g and11g:“FOR ALL COLUMNS SIZE AUTO"。
設定成AUTO意味著如果histogram的存在會有助於生成更準確的執行計劃,DBMS_STATS會自動在需要的欄位上生成它。
在11g中,AUTO_SAMPLE_SIZE的預設值是100%,從而儘可能使統計資訊是準確的。在之前的版本上,由於時間的制約,100%的sample size有時候是不可能的,由於11G實施了一個新的hash演算法避免了傳統的排序(在9i和10g典型慢的部分是排序),這顯著的減少了收集的時間並提升了資源使用效率。同樣,是否收集列上的統計資訊也是自動決定的。
2、快速重建統計資訊的推薦步驟:
為快速刪除和重建某張表及它的索引的統計資訊(包含非均勻分佈列的統計資訊):
exec dbms_stats.delete_table_stats(ownname=>'user_name',
tabname=>'table_name',cascade_indexes=>true);
exec dbms_stats.gather_table_stats(ownname=>'user_name',
tabname=>'table_name',
estimate_percent=>DBMS_STATS.AUTO_SAMPLE_SIZE,
cascade=>true,
method_opt=>'for all columns size AUTO');
3、統計資訊收集命令的幾種情況
a、收集表的統計資訊
exec dbms_stats.gather_table_stats(
ownname=>'schema_name',
tabname=>'table_name',
estimate_percent=>DBMS_STATS.AUTO_SAMPLE_SIZE,
cascade=>true,
method_opt=>'FOR ALL COLUMNS SIZE AUTO');
b、收集某一schema下的所有物件的統計資訊
exec dbms_stats.gather_schema_stats(
ownname=>'schema_name',
cascade=>true,
method_opt=>'FOR ALL COLUMNS SIZE AUTO');
C、收集database中所有物件的統計資訊
exec dbms_stats.gather_database_stats(
cascade=>true,
method_opt=>'FOR ALL COLUMNS SIZE AUTO');
禁用自動統計資訊收集作業
begin
dbms_auto_task_admin.disable
(client_name=>'auto optimizer stats collection',
operation=>null,
window_name=>null);
end;
/
1)estimate_percent的預設值:
9i: 100%
10g: DBMS_STATS.AUTO_SAMPLE_SIZE(使用非常小的估算百分比)
11g:DBMS_STATS.AUTO_SAMPLE_SIZE(100%)
2) METHOD_OPT:defaults:
9i: "FOR ALL COLUMNS SIZE 1",等同於沒有列值的具體分佈資訊。
10g and11g:“FOR ALL COLUMNS SIZE AUTO"。
設定成AUTO意味著如果histogram的存在會有助於生成更準確的執行計劃,DBMS_STATS會自動在需要的欄位上生成它。
在11g中,AUTO_SAMPLE_SIZE的預設值是100%,從而儘可能使統計資訊是準確的。在之前的版本上,由於時間的制約,100%的sample size有時候是不可能的,由於11G實施了一個新的hash演算法避免了傳統的排序(在9i和10g典型慢的部分是排序),這顯著的減少了收集的時間並提升了資源使用效率。同樣,是否收集列上的統計資訊也是自動決定的。
2、快速重建統計資訊的推薦步驟:
為快速刪除和重建某張表及它的索引的統計資訊(包含非均勻分佈列的統計資訊):
exec dbms_stats.delete_table_stats(ownname=>'user_name',
tabname=>'table_name',cascade_indexes=>true);
exec dbms_stats.gather_table_stats(ownname=>'user_name',
tabname=>'table_name',
estimate_percent=>DBMS_STATS.AUTO_SAMPLE_SIZE,
cascade=>true,
method_opt=>'for all columns size AUTO');
3、統計資訊收集命令的幾種情況
a、收集表的統計資訊
exec dbms_stats.gather_table_stats(
ownname=>'schema_name',
tabname=>'table_name',
estimate_percent=>DBMS_STATS.AUTO_SAMPLE_SIZE,
cascade=>true,
method_opt=>'FOR ALL COLUMNS SIZE AUTO');
b、收集某一schema下的所有物件的統計資訊
exec dbms_stats.gather_schema_stats(
ownname=>'schema_name',
cascade=>true,
method_opt=>'FOR ALL COLUMNS SIZE AUTO');
C、收集database中所有物件的統計資訊
exec dbms_stats.gather_database_stats(
cascade=>true,
method_opt=>'FOR ALL COLUMNS SIZE AUTO');
禁用自動統計資訊收集作業
begin
dbms_auto_task_admin.disable
(client_name=>'auto optimizer stats collection',
operation=>null,
window_name=>null);
end;
/
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22969361/viewspace-1123840/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- [統計資訊系列7] Oracle 11g的自動統計資訊收集Oracle
- Oracle收集統計資訊Oracle
- 【統計資訊】Oracle常用的收集統計資訊方式Oracle
- Oracle 11g系統自動收集統計資訊的一些知識Oracle
- oracle 統計資訊檢視與收集Oracle
- Oracle統計資訊的收集和維護Oracle
- Oracle運維指令碼-收集統計資訊Oracle運維指令碼
- 手動收集——收集統計資訊
- 收集統計資訊方案
- ORACLE19c新特性-實時統計資訊收集Oracle
- 【統計資訊】Oracle統計資訊Oracle
- 收集全庫統計資訊
- 【TUNE_ORACLE】定製化收集統計資訊SQL參考OracleSQL
- 微課sql最佳化(3)、統計資訊收集(2)-如何收集統計資訊SQL
- 6 收集資料庫統計資訊資料庫
- ORACLE表統計資訊與列統計資訊、索引統計資訊Oracle索引
- oracle 11g 系統審計功能Oracle
- 【TABLE】Oracle表資訊收集指令碼Oracle指令碼
- 修改oracle 的統計資訊Oracle
- Oracle 統計資訊介紹Oracle
- 微課sql最佳化(8)、統計資訊收集(6)-統計資訊查詢SQL
- oracle 11g建立基線詳細資訊Oracle
- 啟用與禁用統計資訊自動收集
- 【SCRIPT】Oracle資料庫基本資訊收集指令碼Oracle資料庫指令碼
- 【SQL】Oracle資料庫資料量及效能資訊收集SQLOracle資料庫
- ORACLE analyse table方式收集表統計資訊導致SQL執行計劃不準確而效能下降OracleSQL
- 【SCRIPT】Oracle統計資訊相關SQLOracleSQL
- 【STATS】Oracle遷移表統計資訊Oracle
- 資訊收集
- 【ASK_ORACLE】Oracle如何恢復舊的統計資訊Oracle
- Oracle 統計資訊相關命令彙總Oracle
- 如何收集Oracle程式中的SQL跟蹤資訊KUOracleSQL
- Nebula Graph 特性講解——RocksDB 統計資訊的收集和展示
- Oracle錶的歷史統計資訊檢視Oracle
- oracle 11g rac新增節點前之清除節點資訊Oracle
- 最佳實踐:解讀GaussDB(DWS) 統計資訊自動收集方案
- MySQL對所有表收集統計資訊(Python 2指令碼)MySqlPython指令碼
- GUI程式設計--班級資訊收集系GUI程式設計
- GUI程式設計--班級資訊收集系..GUI程式設計