統計資訊採集實施策略

2021-06-18 16:28:19 字數 2363 閱讀 7015

定製設計資訊採集方案,可考慮如下實施策略。

(1)根據資料庫規模和資料變化情況,可考慮在資料庫、schema、表、分割槽表等不同級別採集統計資訊

(2)設定並行度,提高統計資訊採集的效率

(3)進行統計資訊採集的目的是保證執行路徑的最優化。因此,不一定需要全面採集統計資訊,只要執行路徑達到最優化,可設定採集率引數estimate_percent

(4)重點對最消耗資源的sql語種所涉及表的進行統計資訊採集

(5)採集表統計資訊時,同時採集索引統計資訊

(6)對分割槽表可考慮只對指定分割槽進行統計資訊採集。包括設定granularity=>'partition'

(7)考慮block_sample=>true,method_opt=>'for all indexed' columns等引數,從而提高取樣準確性,並減少不必要的統計資訊,降低資源消耗

(8)只對沒有統計資訊或過期統計資訊的表進行採集,即options=>'gather empty',或options=>'gather stale'

(9)對於字段值分布很畸形(skewed)的表,進行資料分布統計.

(10)合理使用10g統計資訊採集方面的新特性

(11)編寫統計資訊採集工作的指令碼

統計資訊採集具體方法

oracle提供了豐富的統計資訊採集方法。

(1)資料庫級資訊採集

建議資料庫規模較小、資料變化比較大,而且時間和資源充裕的系統,在整個資料庫級採集統計資訊。例如:

exec

dbms_stats.gather_database_stats(estimate_percent=>10,

degree

=>8,

cascade

=>

true

,granularity =>

'all'

);(2)schema資訊採集

exec

dbms_stats.gather_schema_stats(ownname=>

'clas'

,estimate_percent=>10,

degree

=>8,

cascade

=>

true

,granularity =>

'all'

);(3)表級統計資訊採集

建議對資料量較大、資料變化也比較大的表,在表級進行統計資訊採集。例如:

exec

dbms_stats.gather_table_stats(ownname=>

'clas'

,tabname=>

'表名'

,estimate_percent=>10,

degree

=>8,

cascade

=>

true

,granularity =>

'all'

);(4)分割槽級統計資訊採集

建議對資料量較大、資料變化也比較大的分割槽表,在分割槽級進行統計資訊採集,特別是只採集資料變化較大的分割槽。例如:

exec

dbms_stats.gather_table_stats

(ownname=>'clas'

,tablename=>

'表名'

,partname=

'分割槽名'

,estimate_percent=>10,

degree

=>8,

cascade

=>

true

,granularity =>

'partition'

,method_opt=>

' for all indexed columns');

(5)資料字典統計資訊採集

exec

dbms_stats.gather_dictionary_stats

(estimate_percent=>

100,

degree

=>8,

cascade

=>

true

,granularity =>

'all');

(6)動態效能表統計資訊採集

exec

dbms_stats.gather_fixed_objects_stats;

(7)硬體統計資訊採集

exec

dbms_stats.gather_system_stats(

'start');

在典型業務結束之後,執行如下語句:

exec

dbms_stats.gather_system_stats(

'stop');

注:它也是通過

awr進行採集的。

網頁資訊採集實現

最近公司需要開發乙個簡歷匯入功能,類似部落格搬家或者郵箱搬家,之前抓取資訊是利用火車採集器,但是簡歷匯入功能需要使用者登陸以後才能獲取簡歷資料,無奈只好自己開發了。首先是遇到的問題是 如何實現模擬登陸?我們知道一般的 都是通過cookies來維護狀態的,我抓的 也是支援利用cookies來驗證使用者...

網頁標題資訊採集

之前做了乙個通過ip來掃瞄 的,以為能掃到所有的 因為ip是能全部遍歷的,但是忘記了很多 是禁止反向解析的。所以更改了寫法,仿照類似爬蟲的方法,抓取乙個網頁的內容,然後遍歷其中的 然後根據其中的 再去遍歷內容,如此做了個簡單的網頁標題資訊採集工具.更新,1.使用多執行緒處理 2.使用快取技術減少db...

多執行緒帶智慧型採集策略的採集系統

去年年底的時候曾經發過乙個資料採集器 網頁資料採集器 那是專門針對某乙個 來進行採集的,如果需要採集新的 內容,就需要修改 並重新編譯。昨晚完成了乙個帶智慧型策略的採集系統。其實,這個策略的方案三年前就想好了,那時候打算用vb做,做了一半就擱置了。現在用c 才終於把這個方案實現了。整個方案大概是這樣...