Oracle 工具:Analyze

來源:互聯網
上載者:User
  ㈠ 三大功能
    
     ① 搜集和刪除索引、表和簇的統計資訊
     ② 驗證表、索引和簇的結構
     ③ 評鑑表和簇和行遷移和行連結
     針對analyze的搜集和刪除統計資訊功能而言
     Oracle推薦使用DBMS_STATS包來代替analyze搜集最佳化資訊
     DBMS_STATS可以並行的搜集資訊,可以搜集分區表的全域資訊
     進一步來說,CBO只會使用DBMS_STATS包所統計出來的資訊
         
  ㈡ 先決條件
 
     ① 在自己的方案中
     ② 或有analyze any system 的許可權
      
  ㈢ 文法
 
     ANALYZE
       { TABLE [ schema.]table
           [ PARTITION ( partition ) | SUBPARTITION ( subpartition ) ]
       | INDEX [ schema. ]index
           [ PARTITION ( partition ) | SUBPARTITION ( subpartition ) ]
       | CLUSTER [ schema. ]cluster
       }
      
       { COMPUTE [ SYSTEM ] STATISTICS [for_clause]
       | ESTIMATE [ SYSTEM ] STATISTICS [for_clause][SAMPLE integer { ROWS | PERCENT }]
       | validation_clauses
       | LIST CHAINED ROWS [ into_clause ]
       | DELETE [ SYSTEM ] STATISTICS
       } ;
      
     注釋:
       ① INDEX index:對索引進行分析,分析的結果會放在USER_INDEXES, ALL_INDEXES,或 DBA_INDEXES中
      
       ② TABLE table:對錶進行分析,分析的結果會放在USER_TABLES, ALL_TABLES, and DBA_TABLES表中
                                   分析表的限制:
                                              不可以分析資料字典表
                                              不可以分析擴充表,但可以用DBMS_STATS來實現這個目的
                                              不可以分析暫存資料表
                                              不可以計算或估計下欄欄位類型:
                                              REFs, varrays, nested tables, LOBs , LONGs, or object types
                          
       ③ CLUSTER cluster:對簇進行分析,分析的結果會放在ALL_CLUSTERS, USER_CLUSTERS and DBA_CLUSTERS
      
       ④ compute_statistics_clause
           文法:COMPUTE [ SYSTEM ] STATISTICS [for_clause]
                對分析對象進行精確的統計,然後把資訊儲存的資料字典中。可以選擇對錶或對欄位進行分析
                computed和estimated這兩種方式的統計資料都被最佳化器用來影響sql的執行計畫
                如果指定system選項就只統計系統產生的資訊
          for_clause:
               FOR TABLE:只統計表
               FOR COLUMNS:只統計某個欄位
               FOR ALL COLUMNS:統計所有欄位
               FOR ALL INDEXED COLUMNS:統計索引的所有欄位
              
       ⑤ ESTIMATE [ SYSTEM ] STATISTICS [for_clause][SAMPLE integer { ROWS | PERCENT }]
          只是對部分行做一個大概的統計。適用於大表
          SAMPLE:指定具體統計多少行,如果忽略這個參數的話,oracle會預設為1064行
          ROWS causes:行數 Oracle to sample integer rows of the table or cluster or integer entries from the index. The integer must be at least 1.
          PERCENT causes:百分數
         
       ⑥ validation_clauses
           分析REF或是對像的結構
           例如:
           ANALYZE TABLE employees VALIDATE STRUCTURE CASCADE;
           ANALYZE TABLE customers VALIDATE REF UPDATE;
           通常用於物理和邏輯的一致性檢查

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

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.