本文基於
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...