oracle統計資訊,oracle統計資訊收集

來源:互聯網
上載者:User

oracle統計資訊,oracle統計資訊收集

手工刷ORACLE統計資訊
 select count(1) from LOG_TRX_DETAIL;
 select * from user_tab_statistics where table_name = 'LOG_TRX_DETAIL';
 exec dbms_stats.gather_table_stats('ARDB','ACCT_BALANCE',cascade => true);
 exec dbms_stats.gather_table_stats('ARDB','LOG_TRX',cascade => true);
 exec dbms_stats.gather_table_stats(OWNNAME=>'ARDB',TABNAME=>'LOG_TRX_DETAIL',GRANULARITY=>'ALL',ESTIMATE_PERCENT=>5,DEGREE=>4,CASCADE=>TRUE);
 exec dbms_stats.gather_table_stats(OWNNAME=>'ARDB',TABNAME=>'ACCT_BALANCE',GRANULARITY=>'ALL',ESTIMATE_PERCENT=>5,DEGREE=>4,CASCADE=>TRUE);
 execute dbms_stats.gather_table_stats(ownname => 'ARDB',tabname => 'TRANS_DETAIL', estimate_percent => DBMS_STATS.AUTO_SAMPLE_SIZE ,method_opt => 'FOR ALL COLUMNS SIZE 1',no_invalidate=>false, DEGREE=>8, cascade => true);
 exec dbms_stats.gather_table_stats('ARDB', 'LOG_TRX', 'P201301', granularity => 'PARTITION', DEGREE=>4, cascade => true);
 exec dbms_stats.gather_table_stats('ARDB', 'LOG_TRX_DETAIL', 'P201301', granularity => 'PARTITION', DEGREE=>4, cascade => true);
 alter system flush shared_pool;

 關閉統計資訊更新
 begin
 DBMS_AUTO_TASK_ADMIN.DISABLE(client_name => 'auto optimizer stats collection',
 operation => NULL,
 window_name => NULL);
 end;
 /
 
 通過視圖DBA_AUTOTASK_WINDOW_CLIENTS可以查看他們一周七天的執行情況
 select * from DBA_AUTOTASK_WINDOW_CLIENTS;


對於oracle 統計資訊簡單問題

48 個遞迴調用
擷取了 24 個資料庫塊
擷取了 91 個約束
0 物理讀取
0 重做日誌
通過 SQL*Net向用戶端發送了 982 個位元組
通過SQL*Net從用戶端接收了 492 個位元組
通過SQL*Net與用戶端有 2 個通訊
0 個記憶體排序
0 磁碟排序
共擷取了6 行資料
 
oracle中的統計資訊問題

統計資訊需要及時更新才會發揮它的作用,舊的統計資訊不僅無用,而且會導致查詢最佳化工具使用不正確的執行計畫,導致查詢效率很低。建議的做法不是刪除統計資訊,而是及時更新表和索引的統計資訊。
 

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.