日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

oracle并行parallel update两张表_Oracle与并行性 parallel

發布時間:2024/9/27 编程问答 52 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle并行parallel update两张表_Oracle与并行性 parallel 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Oracle與并行性

并行化操作能力是巨型數據庫(Very

Large

Database,簡稱VLDB)最重要的特性之一。帶有多個CPU的數據庫服務器,也被稱作SMP,目前是大多數數據庫服務器的標準配置。當性能需求以

及數據量不斷的增長,更加需要使用多處理器和多磁盤來減少完成給定任務所需的時間。通過運行實時應用集群,Oracle即可支持單SMP服務器中的并行,

還可以支持多個節點間的并行。以并行方式執行一個SQL語句將消耗更多的機器資源——CPU,內存和磁盤I/O——但是可以縮短整個任務的完成時間。

并行操作以一種比較線性的方式影響著執行一個給定任務所需要的內存數量和CPU資源。每個并行執行進程都有一個PGA(Program

Global Area,程序全局區),它需要占用一定的內存來完成工作。每個并行執行進程會占用自己的CPU時間片,但是很多并行進程都可以減少磁盤I/O的時間,磁盤I/O往往是瓶頸最容易產生的地方。

Oracle數據庫中存在兩種可能的并行類型:

塊-范圍(block-range)并行

有數據庫塊的范圍驅動。

基于分區的并行

由操作中涉及的一定數量的分區或子分區驅動。

下面幾節將描述這兩種類型的并行。

塊-范圍并行

1994年,Oracle

7.1引入了動態并行化表掃描和各種基于掃描的函數的能力。這種類型的并行是基于塊范圍(block-range)的概念,Oracle服務器將了解每個

表中包含了一組數據塊,而每個數據塊涵蓋了一個指定范圍的數據。Oracle

7通過動態的把一個表分解成幾塊來實現塊-范圍并行,分解得到每一個塊就是一個數據塊的范圍,然后以并行的方式用多進程來處理這些分解的塊。Oracle

的塊-范圍并行的實現是獨一無二的,因為它不要求對表進行物理分區。

有了這種類型的并行,發出SQL語句的客戶會話將透

明地成為并行執行協調器,它將動態的確定塊范圍并把它們分配給一組并行執行(PE)進程。一旦PE進程完成了一個分配的塊范圍,它就返回給協調器以便請求

下一步的工作。不是所有的I/O都以相同的速率發生,因此一些PE進程可能比另一些PE進程處理更多的數據塊。“stealing

work”的概念允許所有的進程充分參與各項任務,從而最大限度的利用主機資源。

如果有足夠的硬件資源,那么塊-范圍并行的規模與

PE進程的數量成線性關系。實現并行的伸縮性關鍵在于硬件基礎。每個PE進程均運行在一個CPU上,并且只對一個設備請求I/O。如果有足夠的CPU去讀

取足夠的磁盤,并行將成比例擴展。如果系統在這些資源中的某一點遇到一個瓶頸,伸縮性則會受到影響。例如,有4個CPU,但是只讀取2個磁盤,那么并不會

是磁盤的雙路伸縮性成倍增長;如果額外的CPU會導致磁盤競爭,那么還會帶來并行能力的下降。同樣的,2個CPU讀取20個磁盤也不會成比例的將性能提高

20倍。系統硬件必須在并行的同時依照比例關系進行平衡。

大多數的大型系統中,磁盤數量要遠遠大于CPU的數量。在這些系統中,并行導致了I/O和I/O子系統的隨機化。這對于不同用戶的PE進程在不同時間讀取不同磁盤的并行數據方式是很有用的,因為它使得I/O分布在多個可用的磁盤上。

打個比方,動態的并行性猶如吃餡餅。這個餡餅就像是

該操作要讀取的一組數據塊,并且目的是盡可能塊的讓一定數量的人吃掉這個餡餅。Oracle按份來提供這個餡餅,當其中一個人吃完它的第一份時,他可以再

回去要跟多份。并不是每個人都以相同的速度吃餡餅,因此某些人將會比其他一些人吃得多。這種方法在現實世界中稍微顯得有些不公平,但對于并行來說它是一種

很好的模式,因為如果每個人自始自終一直在吃,這個餡餅將會以更快的速度被吃掉。另一種選擇就是給每個人相同份數的餡餅,并一直等著吃得最慢的人吃完它的

那份。

圖7-5顯示了將一組數據塊分割成幾個數據區間。

圖7-5 動態的塊-范圍并行化

表的范圍與表的分區

在Oracle

8中引入了分區表,一個操作可能會涉及到一個分區表中的一個,多個或所有的分區。對于一個常規的表而言,塊-范圍并行機制將動態地分割一組數據塊以便讀

取,這一點與分區表并沒有本質的區別。一旦優化器確定了操作該訪問哪一個分區,所有涉及到的分區的數據塊則都被看做是一個分割成多個數據區間的池。

優化器的這種假設導致了使用并行和分區表的一個關鍵

問題。并行度(即用于整個表的并行執行進程的數目)需要應用到某一項操作所用的一組分區上。如果分區中沒有包含操作要用的數據,那么優化器就會排除這一分

區。例如,如果一個表的某個分區包含的ID號在1000以下,而若要查詢請求ID號在1100和5000之間,優化器就會知道這項查詢不可能訪問這個分

區。

從Oracle 9i開始,你也可以基于一組特定的值來對表進行分區,不過這種類型的分區通常適合于維護操作的分區表。正如第4章講述的那樣,Oracle一直在添加更多的實施分區的方法。

如果你期望你的查詢使用分區排除或修剪而且計劃采用

并行性,那么你應該在足夠多的驅動器上條帶化每個分區從而使之能夠有效的擴展。這種做法不論訪問分區的數目大小都可以確保可擴展性。條帶化的工作可以通過

在多個磁盤上保存多個數據文件的方法手工完成。這些磁盤可以以條帶化的形式組成陣列,也可以結合這兩種方法組成陣列。

什么可以實現并行化?

Oracle不僅僅能夠對簡單的查詢進行并行化,而且還能夠對許多操作執行塊-范圍并行化,具體包括:

*表空間的創建

*索引的創建與重建

*在線索引的重組與重建

*根據索引組織的表的重組與重建

*表的創建,例如使用CREATE TABLE …AS SELECT

*分區維護操作,例如遷移與分割分區

*數據加載

*完整性約束的實施

*統計的收集(從Oracle數據庫10g開始可自動收集)

*備份與恢復(在Oracle數據庫11g中包含大型文件)

*DML操作(INSERT,UPDATE,DELETE)

*查詢處理操作

*OLAP集合(就Oracle數據庫10g而言)

Oracle還能夠為各個查詢處理步驟提供并行化的優勢。可能實現并行化的查詢處理特性包括:

*表掃描

*嵌套循環

*排序合并關聯

*哈希關聯

*位圖星型關聯

*索引掃描

*面向分區的關聯

*反關聯(NOT IN)

*SELECT DISTINCT

*UNION和UNION ALL

*ORDER BY

*GROUP BY

*聚集

*導入

*用戶自定義函數

并行度

Oracle實例有一個對于數據庫用戶可用的PE進程池。這些進程會消耗CPU,內存和I/O資源。控制活躍PE進程的最大數量是很重要的;因為太多的PE進程將會給主機帶來過重的負擔,導致出現資源瓶頸和性能的退化。高度的并行性還會導致全表掃描,這種情況可能可能好

,也可能壞。圖7-6顯示了PE進程組內和組間的透明并行性。

圖7-6 操作內和操作間的并發性

在有多個用戶并且工作負荷不斷變化的情況下,確定最

佳的并發度具有一定的挑戰性。例如,當查詢并發度為8的時候,就能夠滿足1到2個用戶查詢操作對性能的需求,但是如果有20個用戶查詢同一個表,又會怎么

樣?這個時候可能需要160個PE進程(8個PE進程服務20個用戶),這么多的PE進程可能會讓機器超載。

將并行度設置為為最小的公共分母值(例如,2),在用戶數較多的時候,能夠提供有效的并行性,但是當用戶較少的時候,并不能充分利用資源。

自調整適應性并行

Oracle

8i引入了自調整適應性并行(self-tuning adaptive

parallelism)的概念。當系統負責增加時,這個特性將自動的按比例減小并行度;當系統負載減少時,則會自動的成比例增大并行度。當某個操作要求

具有一定的并行度的時候,Oracle會檢查系統的負載并降低實際操作并行度以避免系統負載過重。要求并行操作的用戶越多,他們接受到的并行度就會越來越

低,直到操作連續的執行完畢。如果操作減少,隨后的操作將賦予不斷增大的并行度。這種適應性可以把DBA從本來不可能做到的任務中解放出來,這個不可能的

任務就是在面對并發性和工作負載不斷變化的條件下確定最佳的并行度。

在確定賦予一項操作的并行度的過程中,自適應并行要考慮兩個因素:

*系統負荷

*在數據庫資源管理器活躍的條件下,用戶客戶群體的并行資源限制。(第9章以及本章的后面將會講述數據庫資源管理器)這一點非常重要,因為這意味著如果存在自適應并行,就還需要考慮資源的規劃。

基于分區的并行性

對于需要實現并行的語句,Oracle并行功能的小

子集則基于該語句所訪問的分區或子分區的數據。對于塊-范圍并行,每個PE進程工作所需的數據片為數據塊的范圍;對于基于分區的并行,驅動并行的數據片是

指一個表的分區或子分區。需要根據分區或者子分區的數目來進行并行化的操作有:

*更新和刪除操作

*索引掃描操作

*分區表上的索引創建和重建

表分區和子分區的并行

Oracle 8引入了對并行DML(數據操作語言)的支持,即支持并行的執行INSERT,UPDATE,和DELETE語句。這種類型的并行改進大量數據操作(例如,更新一個大型表中所有行的操作)的性能。

在Oracle

8中更新和刪除操作的并行度與涉及到的分區數量是密切相關的;而對于Oracle

8i及以后版本,更新和刪除操作的并行度則與涉及到的分區或子分區的是數量有關。一個有12個分區的表(例如,每個分區對應一年中的每個月)對于并行更新

和刪除操作可以擁有最大為12的并行度。僅對一個月的數據進行更新操作不會并行,因為它只涉及到一個分區。如果通過使用Oracle的復合分區(例如,每

個月分區中根據PRODUCT_ID再分為4個哈希子分區)創建一個表,對于整個表最大的并行度將是48,即有12個分區,每個分區又有4個子分區。因此

對于一個月數據的更新操作并行度可以為4,因為每個月包含4個哈希子分區。如果這個表沒有被分區,Oracle就不能以并行的方式執行更新操作。

在Oracle 8以及之后的版本中,可以使用類似于并行DML的語義,即每個索引分區或子分區對應一個PE進程,同時以并行的方式對分區的索引執行創建,重建,和掃描操作。

對未分區的表進行快速完全索引掃描

人們常常會認為只有對目標索引進行分區之后

Oracle數據庫才能并行處理索引掃描。Oracle

7.3引入了在某些場合下對未分區的表進行快速完全索引掃描的功能。如果索引掃描操作是“不受約束的”,即對整個索引的訪問為了滿足查詢的需求,那么

Oracle

7.3及更高的版本將使用塊-范圍并行機制,從而并行化對整個索引的訪問。因此,當Oracle可以對未分區的表進行快速完全索引掃描時,這個特性適用于

范圍有限的查詢。基于分區的索引掃描則適用于更大范圍的查詢操作。

未分區表和分區表的并行插入操作

Oracle可以通過INSERT INTO

tableX SELECT …FROM

tableY這樣的語句以并行的方式對未分區表和分區表執行一條插入語句。Oracle用一組PE進程對插入語句中SELECT部分執行塊-范圍并行化。

這些PE進程把多行數據傳遞到第二組PE進程,第二組PE進程再把這些數據插入到目標表中。目標表可以是未分區表,也可以是分區表。因此,插入操作的并行

不是嚴格意義下的塊-范圍并行或基于分區的并行。

總結

以上是生活随笔為你收集整理的oracle并行parallel update两张表_Oracle与并行性 parallel的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: www日韩在线观看 | 日韩二区在线观看 | 处破痛哭a√18成年片免费 | 亚洲欧洲久久 | 精品人妻aV中文字幕乱码色欲 | 无码人妻久久一区二区三区不卡 | 91麻豆精品国产91久久久更新时间 | 中国性xxx| 亚洲高h| 久久偷拍免费视频 | 日本不卡一区在线观看 | 午夜男人天堂 | 久久精品黄 | 亚洲先锋影音 | 国产成人久久精品77777综合 | 超碰狠狠 | 亚洲一区二区不卡视频 | 国内自拍偷拍网 | 少妇精品无码一区二区免费视频 | 色综合久久久久无码专区 | 欧美日韩中文字幕一区 | 亚洲黄色影院 | 色婷婷麻豆 | 桃谷绘里香在线播放 | 在线视频日韩精品 | 97潮色 | 老熟妇毛片 | 69中国xxxxxxxxx69| 99久久毛片| 怡春院视频 | 国产丝袜视频在线 | 天天躁日日躁aaaaxxxx | 99这里只有精品 | 日本一区二区三区在线免费观看 | av男女| 黄色片子网站 | 欧美激情成人网 | 国产suv精品一区二区60 | 国产日韩欧美在线播放 | 99国产精品久久久久99打野战 | 黄色1级片 | 色久综合 | 国产午夜精品免费一区二区三区视频 | 亚洲欧美日韩不卡 | 日韩少妇中文字幕 | 免费看黄色片的网站 | 亚洲区精品 | 激情婷婷久久 | 五月天色小说 | 伊人久久五月 | 91久久久久久久久久久久 | 丁香六月婷婷综合 | 97超视频在线观看 | 激情三区| 精品无码一区二区三区蜜臀 | 亚洲不卡视频 | 欧美xxxx性xxxxx高清 | 国内精品999| 国产精品第九页 | 欧美性在线观看 | 日韩精品导航 | 天天躁日日躁狠狠很躁 | 欧美人与物videos另类 | 五月婷婷婷婷 | av片免费在线播放 | 国产精品不卡视频 | 欧美日韩高清一区二区 国产亚洲免费看 | 亚洲激情久久久 | 与亲女洗澡时伦了毛片 | 久久精品国产精品亚洲色婷婷 | 日韩精品一区二区三区电影 | 日批的视频 | 午夜极品视频 | 国产欧美一区二区精品性色 | 青青操在线 | 欧美69精品久久久久久不卡 | 自拍偷拍999 | 欧美毛片视频 | 影音先锋中文字幕资源 | 日日干日日 | 九九久久精品视频 | 黄色一级视屏 | av一级 | 伊人影院中文字幕 | 天天干干干干干 | 欧美变态视频 | av一区三区 | 丁香花电影高清在线阅读免费 | 亚洲第一黄色网址 | 天天干人人 | 男生女生搞黄色 | 91超碰在 | 国产一区二区免费 | 欧美狠狠干 | 波多野结衣一区二区三区 | 精品国产乱码久久久久久久软件 | 99久久久无码国产精品性波多 | 久久久久亚洲av无码专区桃色 | 日本欧美在线视频 |