程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> 關於Oracle數據庫 >> Oracle決策支持系統下的性能調整和優化原則

Oracle決策支持系統下的性能調整和優化原則

編輯:關於Oracle數據庫

  DSS 系統的特征是從大量的數據中產生有意義的報告。DSS 應用可能會經常與 OLTP 一起使用,但因為它們的設計要求差異很大,把 OLTP 系統用於決策支持不是好的主意。OLTP 的用戶一般很多,而 DSS 系統的用戶一般較少。決策支持系統的例子有與定單錄入系統(OLTP系統)一起工作的現金流預測工具,該工具可以幫助決定需要多大的現金儲備。另一個決策支持的例子是客戶需求分析工具,該工具可以找出某個地域客戶對哪個產品購買量最大。

  決策支持系統的主要特征是:

  讀取大容量的數據,經常使用全表掃描作為存取數據的方法。

  極少量地更新數據。一般而言,從OLTP 系統的數據(也可能是其它的數據源)會以批的方式流向 DDS 系統,用戶自己極少會更新 DSS 的數據。

  下圖反映了DSS系統的特征:

  DSS系統在運行時,有如下的一些要求:

  合理的響應時間。

  結果是准確的。

  可以在白天使用。

  為了滿足上面的要求,應當從以下幾個方面考慮調節數據庫DSS應用系統。

  1. 在使用應用邏輯和聲明約束來維護完整性方面,切記聲明完整性約束的代價要小。在DSS系統中,相關完整性約束和表的check 約束是主要使用的約束形式。

  2. 盡量要使代碼被存儲過程對象共享。

  3. 即使一條SQL語句在不同的運行環境下捆綁變量(bind variable)取了不同的值,Oracle認為他們是同樣的SQL語句。因此,要使分析SQL語句的工作減少到最抵,應當使用捆綁變量,而不是將這些不同的值直接放到SQL語句中(使用 literal)(如果這樣做了,Oracle 認為它們之間是不同的SQL,需要重新分析)。但是,這樣做會有如下的損失:優化器無法知道列的可選擇性。而完全寫出來的SQL 語句(使用 literal),可使基於成本的Oracle優化器使用直方圖統計(histogram)。

  4. 無論如何,對DSS系統來說,分析 SQL 用的時間要比執行SQL語句用的時間要少的多。工作重點應當是優化SQL語句執行計劃的存取路徑上。這裡的微小調節可能會帶來幾分鐘,甚至是幾小時性能的提高。開發人員必須考慮:

  • 首頁
  • 上一頁
  • 1
  • 2
  • 下一頁
  • 尾頁
  • 共2頁
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved