11g新特性:Pending Statistics
從11g開始,表與索引的統計資訊收集完畢後,可以選擇收集的統資訊立即釋出,也可以選擇使新收集的統計資訊 處於pending狀態,待確定處於pending狀態的統計資訊是安全的,再使處於pending狀態的統計資訊釋出,這樣就會避免一些因為收集統計信 息立即釋出而導致SQL執行計劃走錯的災難。
[@more@]1 如何判斷是否有pending的統計資訊需要生效?
SQL> Select dbms_stats.get_prefs('PUBLISH') publish from dual;
PUBLISH
--------------------------
TRUE
dbms_stats的get_prefs函式返回true,表示物件的統計資訊收集後立即生效,如果返回flase,收集的統計資訊將處於pending狀態。
2 如果檢視相關的檢視
A 立即生效的統計資訊可以透過以下字典可以檢視
user_tab_stats
user_ind_stats
B pending狀態的統計資訊可以透過以下字典可以檢視
user_tab_pending_stats
user_ind_pending_stats
3 如何設定表或schema的統計資訊的publish狀態
用
dbms_stats的set_table_prefs或者set_schema_prefs過程可以在表級或schema表設定它們的統計資訊是否立即
生效,當我們設定tmp_test表的統計資訊收集後處於pending狀態,那該表收集統計資訊後,將存放於
user_tab_pending_stats字典中。
SQL> Exec dbms_stats.set_table_prefs('yekai','tmp_test','publish','false');
PL/SQL procedure successfully completed.
SQL> select count(*) from user_tab_pending_stats;
COUNT(*)
----------
0
SQL> exec dbms_stats.gather_table_stats('yekai','tmp_test');
PL/SQL procedure successfully completed.
SQL> select count(*) from user_tab_pending_stats;
COUNT(*)
----------
1
4 如何測試並使用處於pending狀態的統計資訊
在
11g,新的引數optimizer_pending_statistics將可以來解決這個問題,當我們在session級設定
optimizer_pending_statistics為true時,我們就可以使用存放在user_*_pending_stats字典中的統計信
息啦,當我們確保該處於pending狀態的統計資訊是正確時,我們就可以決定是否使它們立即生效。
SQL> alter session set optimizer_pending_statistics = TRUE;
5 如何釋出處於pending狀態的統計資訊
當測試過統計資訊有效後,我們可以選擇釋出pending狀態的統計資訊
SQL> exec dbms_stats.publish_pending_stats('yekai','tmp_test');
如果我們不需要該處於pending狀態的統計資訊,可以選擇刪除這個pending的統計資訊
SQL> exec dbms_stats.publish_pending_stats('yekai','tmp_test');
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29446986/viewspace-2124002/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 11g新特性--pending statistics
- Oracle 11g新特性:多列統計資訊(MultiColumn Statistics)Oracle
- 【ORACLE新特性】11G 分割槽新特性Oracle
- Oracle 11g 新特性Oracle
- 11gR2 新特性--待定的統計資訊(Pending Statistic)
- 11g data guard 新特性
- 11g新特性--active dataguard
- oracle 11g 的新特性Oracle
- 11G新特性:FLASHBACK ARCHIVEHive
- Oracle 11g 新特性簡介Oracle
- Oracle 11g 新特性之DRCPOracle
- 11g 新特性—— Active Database DuplicationDatabase
- Oracle 11g新特性:Result CacheOracle
- 11g新特性--result caching
- Oracle 11g 新特性(轉載)Oracle
- 11G新特性:FLASHBACK ARCHIVE - 01Hive
- 11G新特性:FLASHBACK ARCHIVE – 02Hive
- Oracle 11g新特性之SecureFilesOracle
- 11g新特性:不可視索引索引
- oracle DG 11g新特性彙總Oracle
- ORACLE 11G新特性之列新增操作Oracle
- 【11g新特性】(I/O calibration)
- Oracle 11g 新特性 -- SecureFiles 說明Oracle
- 11g新特性--invisible indexIndex
- oracle 11g 新特性 表壓縮Oracle
- 【DataGuard】11g 新特性:Active Data Guard
- Oracle 11g 新特性 -- SQL Plan Management 示例OracleSQL
- 11g叢集新特性-scan機制
- 11g新特性--自動儲存管理
- 11G 新特性:密碼大小寫策略密碼
- 11g 新特性—— Active Database Duplication for A standby databaseDatabase
- 天天學習ORACLE(三)-11G新特性Oracle
- 11G新特性,比較統計資訊
- 11G新特性,待定的統計資訊
- oracle 11g 新特性 磁碟組檢查Oracle
- Oracle 11G 新特性 Automatic block repairOracleBloCAI
- 11g分割槽新特性之interval partition
- 11G Flashback Data Archive新特性的研究Hive