oracle 中並行度的設定需要考慮的因素
oracle 中並行度的設定需要考慮的因素
並行執行是oracle 中一項比較重要的技術,特別是在OLAP系統中,
應對長期執行資源消耗高的SQL語句。並行度的設定對於使用oracle
並行執行特性來說是一項關鍵而複雜的任務,設定的不恰當,可能
反而因為使用oracle 並行執行特性而導致系統的效能下降。
oracle 中並行度的設定不僅僅是透過幾個引數的調整那麼簡單,更重要
的是明確以下幾個問題。
1、伺服器的CPU核心數。
雖然現在的膝上型電腦都早已經跨入雙核的時代,更不用說是伺服器了,
但是還是可能存在你的伺服器執行在單個CPU的虛擬機器上面。即使你的
伺服器有多個核心,但是把並行度設定的過高是不明智的。所有應該認真
的考慮一下CPU核心數和並行度的關係。
2、訪問的資料在磁碟上面是如何組織的。
如果是儲存在單個磁碟上面,因為並行程式或者執行緒要排隊等待訪問磁碟,
會削弱並行處理的優勢,如果要訪問的資料按照能夠並行訪問的方式組織
在多個磁碟裝置上面(並不是資料組織到多個磁碟就能夠並行訪問的),
那麼並行的優勢將會很明顯。
3、要採用並行執行的SQL是什麼性質的。
那些長期執行或者資源密集型的SQL語句,才能夠在並行執行中獲得益處。
那些短小的SQL語句並不是適合採用並行執行。因為初始化和協調多個並行
程式存在一定的開銷。所有說事務性的語句不適合採用並行執行,並行執行
更多的場合是使用在OLAP系統中。
注:系統中不可能所有的SQL語句都採用並行執行,也沒有這個必要。
4、系統的負載。
即使你的系統中CPU核心數很多,IO效能也很好,也支援並行IO,記憶體也大。
但是系統的負載卻可能很高,這時候如果啟用較多的並行程式,將會導致系統
整體效能的下降,因為並行執行是典型的“以資源換時間”的例子。所有采用並行
執行的時候確保系統中的可用資源比較充足。
5、整體也個體的關係。
這裡需要注意一點是,並行執行的SQL語句對系統其他SQL語句效能的影響。系統中
資源的總量是固定的,貌似採用虛擬化技術可以動態的調整系統中的總體資源。
但是調整需要時間,另外並是不所有的系統都採用了這種技術,更重要的前提是
money。所有在系統資源總量不變的情況下,你並行執行的SQL語句消耗的資源多了
勢必其他SQL執行可用的資源就減少了,從而導致系統中其他SQL語句的執行效能下降。
所以我們需要做一個tradeoff.
6、什麼樣的SQL語句可以並行的執行。
並不是所有的SQL語句的執行都可以並行執行,如果你不知道SQL語句並行執行
的條件,那麼很可能導致這一的疑問,我採用了並行執行,怎麼效能沒有提高?
7、並行執行不是在做SQL最佳化。
跑出某個結果或者實施某個操作,使用並行執行只是使用更多的資源來換取較短
的執行時間,並不是實施SQL的最佳化。如果採用並行執行的SQL本身有效能問題的話
那麼並行執行將會放大這一問題,影響其他SQL語句的執行。
8、請先測試。
為了確保並行執行能夠滿足你的需求,請先進行測試。
對於oracle parallel SQL 的絕佳材料:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26110315/viewspace-732619/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- .NET多執行緒操作需要考慮的兩大因素執行緒
- 資料庫備份策略需要考慮的幾大因素資料庫
- 伺服器託管需要考慮這些因素伺服器
- MySQL中需要考慮的一些工具MySql
- 嵌入式開發微處理器選型需要考慮的因素
- 選用住宅代理時要考慮的因素
- 實際技術選型的考慮因素
- 團隊結構應該考慮的因素
- 網站建設前應該考慮的最佳化因素網站
- iOS APP開發公司需要考慮的因素有哪些? 北京銳智互動iOSAPP
- 2023 年 MQTT Broker 選型時需要考慮的 7 個因素MQQT
- Oracle中的並行系列(二):你設定的並行真的生效了嗎?Oracle並行
- 資料遷移中需要考慮的問題
- PHP的垃圾回收機制-效能方面考慮的因素PHP
- 招聘初級程式設計師必須考慮的6個因素程式設計師
- 如何設定Storm並行度ORM並行
- MongoDB分片需要考慮的事項MongoDB
- 成品油定價新機制將考慮國內因素
- 選擇 JS 圖表庫的 13 個考慮因素JS
- ELK中 Elasticsearch和Logstash記憶體大小設定的考慮Elasticsearch記憶體
- 學軟體測試選培訓機構需要考慮哪些因素
- SVD矩陣分解考慮時間因素矩陣
- 10g RAC系統 索引並行度設定參考建議索引並行
- 搭建Prometheus平臺,你必須考慮的6個因素Prometheus
- 物聯網裝置的5個關鍵考慮因素
- 遊戲策劃設計系統時,除了考慮設計目的,還需要考慮什麼?遊戲
- 並行查詢並行度Degree與instances 設定並行
- 選擇Linux發行版時要考慮的6個重要因素!Linux
- 表空間設定考慮事項
- 系統構架設計時應考慮的一些必要性因素
- Oracle中的並行Oracle並行
- Oracle 11gr2中的自動並行度Oracle並行
- 建設智慧城市,需要從哪幾方面考慮?
- oracle表查詢的並行度Oracle並行
- 程式設計師需要重新考慮無程式碼開發的原因。程式設計師
- 如果你的系統需要在一張很大的表上建立一個索引,你會考慮哪些因素?索引
- 從實施混合雲到選擇資料遷移策略,需要考慮哪些因素?
- 開發邊緣計算儲存策略的關鍵考慮因素