Oracle工作流的優化

對於Oracle工作流的優化方式主要分兩大類,一類是流程設計上的優化,一類是數據庫性能的優化。

流程設計優化:

  1. 仔細選擇同步處理和異步處理模式。
    如果選擇同步處理模式,則在提交後系統立即進行工作流處理,在流程結束前,前端程序將一直處於等待狀 態。如果選擇異步處理模式,程序提交工作流後控制權立即返回,工作流後臺引擎會根據設定的頻率在後臺進行處理。另外一種很少用到的處理模式是強制同步,系 統不將數據插入數據庫,直接用一個SQL,並且在一個Session中處理完畢。
  2. 儘量減少項目屬性(通常用於存儲全局變量)。當工作流啓動時,系統會將這些屬性全部拷貝一份,因而這會直接印影響工作流啓動速度。另外,這些屬性最好引用或保存靜態變量,而不要去引用存放在數據庫中的值。
  3. 儘量減少消息屬性。如果需要在消息中存放不同的變量,也建議用最少的消息屬性來實現,比如用Document來動態生成消息內容。
  4. 減少子流程,因爲這需要消耗額外的DML操作和狀態信息拷貝。
  5. 延遲活動。這是縮短響應時間最簡單有效的辦法之一,讓一些需要較多處理時間的活動在後臺交給工作流引擎處理,主流程則繼續。

數據庫性能優化:

  1. 分區。這通常在安裝階段即可進行,當然,在後期也可以進行。操作步驟可參考之前的文章《給工作流大表分區》。
  2. 清理過期數據。清理過期的運行時數據和WF_CONTROL數據,減少數據表大小。

最簡單的優化方式,自然是在DB進行優化,比如定期清理。但是從設計角度考慮,同步、異步和延遲處理的配合使用,是更爲得體的方式。各種方式,因時而異,因人而異

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章