不能拋棄的analyze

2021-08-25 01:39:32 字數 1310 閱讀 4398

本文基於

oracle10g

。現在收集統計資訊有兩種方法,一是使用

analyze

命令,另外就是使用

dbms_stats

包,oracle

推薦使用

dbms_stats

來代替analyze

。還需要使用

analyze

收集統計資訊的有:

1)行遷移

/行連線

資訊。可以檢視

v$dba_tables.chain_cnt

來確定表是否有行連線

/行遷移。不過使用

dbms_stats

無法統計這個資訊,必須使用

analyze table table_name compute statistics;

或者analyze table table_name list chained rows into table_name;

來收集。

2)cluster table

。cluster table

必須使用

analyze

命令收集統計資訊。

3)validate structure

。validate structure

這個命令通常用於驗證索引結構資訊。如果乙個表上經常做

delete

操作,那麼就需要經常對這個表上的索引進行結構驗證,因為這個表上的索引可能需要重建。可以使用

analyze index index_name validate structure offline;

注意一定是要以

offline(預設)

方式收集統計資訊,如果以

online

方式收集統計資訊,那麼就無法在

index_stats

中查詢到剛才收集到的統計資訊。

online

方式收集統計資訊不會對錶加

lock

。而以offline

方式收集統計資訊會對錶加

lock

,可能對效能有影響,一般是在系統處於空閒狀態收集統計資訊。

有可能需要

rebuild

的索引:可以檢視

index_stats.height ,

如果高度大於等於

4就可能需要

rebuild

,另外乙個就是

index_stats.del_lf_rows/index_stats.lf_rows>0.2

也就是說有

20%的資料被刪除了,那麼這個索引也需要

rebuild。

發展大資料不能拋棄「小資料」

當前,全國各地都在建設大資料中心,有些偏僻的山區都建立了容量達2pb 拍位元組 以上的資料處理中心,許多城市公安部門要求儲存3個月以上的高畫質監控錄影。其背後的問題是,這些系統的成本都非常高。資料探勘的價值是用成本換來的,不能不計成本 盲目建設大資料系統。什麼資料需要儲存 要儲存多長時間,應當根據可...

ORACLE的analyze使用簡介

oracle資料庫的pl sql語句執行的優化器,有基於代價的優化器 cbo 和基於規則的優化器 rbo rbo的優化方式,依賴於一套嚴格的語法規則,只要按照規則寫出的語句,不管資料表和索引的內容是否發生變化,不會影響pl sql語句的 執行計畫 cbo自oracle7版被引入,oracle自7版以...

oracle 中ANALYZE的使用

知識背景 1 優化器的優化方式 oracle的優化器共有兩種的優化方式,即基於規則的優化方式 rule based optimization,簡稱為rbo 和基於代價的優化方式 cost based optimization,簡稱為cbo a rbo方式 優化器在分析sql語句時,所遵循的是orac...