




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
并行操作1、充分利用多處理器和多磁盤驅(qū)動(dòng)器(若為單處理器,一個(gè)用戶快了后,其它用戶就慢)例如一個(gè)全表掃描1、單一進(jìn)程來(lái)執(zhí)行全表掃描2、oracle創(chuàng)建多個(gè)進(jìn)程來(lái)并行執(zhí)行表的掃描 用于執(zhí)行掃描的進(jìn)程的數(shù)目稱為并行度(degreeofparallelismDOP)3、可以在創(chuàng)建表或者查詢的時(shí)候使用提示來(lái)設(shè)置并行度select*fromemp用戶進(jìn)程查詢協(xié)調(diào)器(QC)全表掃描查詢查詢查詢查詢EMP表SGA一共創(chuàng)建了5個(gè)進(jìn)程,4個(gè)獨(dú)立的并行查詢服務(wù)器進(jìn)程,一個(gè)查詢協(xié)調(diào)器進(jìn)程,協(xié)調(diào)4個(gè)并行查詢服務(wù)器從屬進(jìn)程。并行處理一般都牽涉到訪問磁盤,如果數(shù)據(jù)不是分布在多個(gè)磁盤上,使用并行查詢會(huì)造成I/O的瓶頸。上例中如果全表掃描返回的結(jié)果集需要排序的話,最終的操作應(yīng)該如下圖:排序掃描磁盤磁盤磁盤磁盤查詢查詢查詢查詢A-GH-MN-ST-Z查詢4個(gè)進(jìn)程運(yùn)行查詢,4個(gè)進(jìn)程對(duì)查詢進(jìn)行排序,總共9個(gè)進(jìn)程,但是并行度仍然是4.如果你的機(jī)器有9個(gè)CPU,您的機(jī)器將使用全部9個(gè)處理器來(lái)執(zhí)行操作。如果可供使用的CPU不足9個(gè),則在oracle管理查詢時(shí),可能遇到一些CPU的瓶頸問題。因?yàn)椴樵儏f(xié)調(diào)部分的操作將占用一些資源,所以使用并行操作通常不能增強(qiáng)快速查詢的性能(甚至可能還降低)。對(duì)于小表或者非??焖俚牟樵?,使用并行操作同樣也會(huì)降低性能,因?yàn)閰f(xié)調(diào)查詢也會(huì)消耗性能資源(并行操作并不適合小表或者快速查詢)。所有的查詢都需要訪問物理磁盤以獲取數(shù)據(jù),然后將它們存到SGA中。查詢?nèi)绾畏纸?、?shù)據(jù)在磁盤上的平衡分布情況 如果兩者對(duì)應(yīng)的很好,將會(huì)巨大的提高I/O性能因此建議并行查詢的前提是:多磁盤、多CPUOracle支持的并行操作1、select2、update、insert、delete3、merge4、createtableas5、createindex6、rebuildindex7、move/split/coalescepartition8、enableconstraint9、selectdistinct10、groupby11、orderby12、notin13、union和unionall14、cube和rollup15、統(tǒng)計(jì)函數(shù)、例如sum和max16、nestedloops連接17、sortmerge連接18、star轉(zhuǎn)換上面顯示,在很多情況下都可以采用并行處理從oracle8i開始,即可運(yùn)行并行DML語(yǔ)句,這個(gè)功能主要應(yīng)用與分布在不同分區(qū)上的表和索引。Oracle9i的并行DML語(yǔ)句和操作在oracle9i中,絕大多數(shù)操作都可以并行執(zhí)行,包括查詢、DML、DDL。自oracle9i后,支持分區(qū)并行處理,多個(gè)并行查詢服務(wù)器進(jìn)程甚至可以針對(duì)同一個(gè)分區(qū)執(zhí)行。并行度可能受到多種因素的制約,oracle9i中,分區(qū)策略在并行處理中并不扮演重要角色。注意下面的限制因素:1、服務(wù)器上可以使用的處理器數(shù)2、仍然需要開啟分區(qū)選項(xiàng),而update、delete和merge只在已分區(qū)的表上才能使用并行化處理3、通過初始化參數(shù)parallel_max_servers,調(diào)整實(shí)例允許的并行查詢服務(wù)器進(jìn)程數(shù)4、如果使用數(shù)據(jù)庫(kù)資源管理器(DatabaseResourcemanager),并行度受到用戶策略的限制5、實(shí)例中其他用戶使用的并行查詢服務(wù)器進(jìn)程的數(shù)量6、parallel_adapter_multi_user參數(shù)的設(shè)置,為了支持其他用戶,該參數(shù)可能限制了您的并行化處理并行處理和分區(qū)Oracle的分區(qū)可能會(huì)對(duì)oracle10g的并行操作產(chǎn)生顯著影響。Oracle8i中1、只有訪問多個(gè)分區(qū)時(shí),才能對(duì)已分區(qū)的對(duì)象執(zhí)行并行處理操作2、在oracle8i中,如果一張表被分成12個(gè)邏輯分區(qū),如果正在執(zhí)行的查詢將只訪問其中6個(gè)分區(qū),那么最多只有6個(gè)并行服務(wù)器進(jìn)程可以被分配用于滿足這個(gè)查詢?cè)趏racle8i中,分區(qū)是實(shí)現(xiàn)并行查詢非常重要的前提Oracle9i和10g中,去除了這些限制并行處理技術(shù)是oracle的一項(xiàng)核心技術(shù),他使得oracle能夠高效的管理和組織TB級(jí)別的數(shù)據(jù)。并行處理就是利用服務(wù)器的多CPU和IO資源來(lái)執(zhí)行單個(gè)操作(SQL語(yǔ)句)。Oracle的并行處理的主要優(yōu)點(diǎn)在于,他能夠在任何條件下完全利用底層硬件基礎(chǔ)架構(gòu)(CPU、內(nèi)存、IO)。根據(jù)數(shù)據(jù)分布、分配給每個(gè)并行服務(wù)器進(jìn)程的處理器以及響應(yīng)并行服務(wù)器數(shù)據(jù)請(qǐng)求的設(shè)備的速度有所不同,每個(gè)并行查詢服務(wù)器進(jìn)程完成任務(wù)的時(shí)間可能不同。當(dāng)每一個(gè)服務(wù)器進(jìn)程完成工作時(shí),他將結(jié)果傳遞給在語(yǔ)句層次結(jié)構(gòu)中的下一級(jí)操作。并行也是執(zhí)行計(jì)劃中的一部分,也有父進(jìn)程任何一個(gè)并行服務(wù)器進(jìn)程都可能處理或服務(wù)于在語(yǔ)句層次結(jié)構(gòu)中上一級(jí)的并行執(zhí)行服務(wù)器傳遞過來(lái)的語(yǔ)句操作請(qǐng)求。說(shuō)明:一個(gè)SQL語(yǔ)句被分解成多個(gè)任務(wù),這些任務(wù)組織成一個(gè)上下的層次關(guān)系,并行查詢服務(wù)器進(jìn)程首先執(zhí)行上一個(gè)層次的任務(wù),然后執(zhí)行下一個(gè)層次的任務(wù),上一個(gè)層次的任務(wù)會(huì)傳遞數(shù)據(jù)給下一個(gè)層次的任務(wù)。對(duì)于并行服務(wù)器來(lái)說(shuō),并不關(guān)心是哪個(gè)層次的任務(wù),只是按照調(diào)度進(jìn)程的安排,處理各個(gè)任務(wù),因此可能出現(xiàn)一個(gè)并行服務(wù)器進(jìn)程剛處理完成上一層的任務(wù),馬上處理下一層的任務(wù)。一個(gè)SQL語(yǔ)句被分解成很多的子任務(wù)1、操作內(nèi)部的并行化處理將處理一個(gè)SQL語(yǔ)句的單一任務(wù)再進(jìn)行細(xì)分,使用多個(gè)并行服務(wù)器進(jìn)程并行完成這個(gè)子任務(wù)。2、操作之間的并行化處理當(dāng)一個(gè)SQL語(yǔ)句的多個(gè)部分并行執(zhí)行時(shí),一部分并行執(zhí)行服務(wù)器將結(jié)果傳遞給另外一部分并行執(zhí)行服務(wù)器掌握并行操作的關(guān)鍵點(diǎn)1、掌握哪些操作可以實(shí)現(xiàn)并行操作2、掌握為了支持并行操作,都需要具備什么條件(硬件和軟件)3、如何實(shí)現(xiàn)并行操作1、使用SQL提示來(lái)實(shí)現(xiàn)并行化操作select/*+parallel(emp)*/*fromemporderbyempno/這個(gè)操作中,既有操作內(nèi)部的并行化(從一個(gè)表中并行取出數(shù)據(jù)),也有操作之間的并行化(數(shù)據(jù)取出來(lái)作為上一級(jí)的任務(wù),取出來(lái)的數(shù)據(jù)給下一級(jí)任務(wù)(排序服務(wù)器進(jìn)程))。這個(gè)語(yǔ)句沒有定義并行度,所以將要使用表的定義或者初始化參數(shù)指定的默認(rèn)并行度。createtableorder_line_items(Invoice_Numbernumber(12)notnull,Invoice_Datedatenotnull)parallel4/定義表的時(shí)候指定并行度。這兩個(gè)初始化參數(shù)會(huì)影響并行服務(wù)器進(jìn)程的數(shù)量。select/*+parallel(order_line_items,6)*/Invoice_Number,Invoice_Datefromorder_line_itemsorderbyInvoice_Number/指定并行度是6,啟用了13個(gè)服務(wù)器進(jìn)程。其中一個(gè)進(jìn)程顯示為服務(wù)器進(jìn)程,另外12個(gè)進(jìn)程顯示為Px服務(wù)器從屬進(jìn)程。這個(gè)服務(wù)器進(jìn)程的作用就是調(diào)度進(jìn)程。select/*+parallel_index(order_line_items,invoice_number_idx,6)*/Invoice_Number,Invoice_Datefromorder_line_itemsorderbyInvoice_Number/指定索引的并行度。select/*+parallel(oli,6)*/Invoice_Number,Invoice_Datefromorder_line_itemsoliorderbyInvoice_Number/使用表別名,那么提示中必須使用表別名。select/*+no_parallel(oli)*/Invoice_Number,Invoice_Datefromorder_line_itemsoliorderbyInvoice_Number/表上設(shè)置了并行度,我們可以使用提示來(lái)關(guān)閉并行度。修改和禁用表的并行度。協(xié)調(diào)進(jìn)程根據(jù)以下條件評(píng)估是否要并行執(zhí)行相應(yīng)的語(yǔ)句:1、SQL語(yǔ)句中包含的提示2、通過修改會(huì)話強(qiáng)制執(zhí)行并行命令來(lái)設(shè)置會(huì)話3、定義為并行處理的表/索引和表/索引的統(tǒng)計(jì)建議使用1和3兩種方式中的一種,但是更建議使用提示,這樣可以精確的指定并行度,達(dá)到調(diào)優(yōu)的目的。使用并行操作生成表和索引的示例createtablenew_emptablespaceusersstorage(initial75mnext25mpctincrease0)parallel(degree4)asselect/*+parallel(emp,4)*/*fromemp/創(chuàng)建索引時(shí)使用并行操作createindexnewemp_empno_idxonnew_emp(empno)tablespaceusersstorage(initial10mnext1mpctincrease0)parallel(degree5)nologging/使用上面的createindex語(yǔ)句創(chuàng)建了使用并行排序操作生成的索引。使用上面的createtable語(yǔ)句,并行從表emp中取出數(shù)據(jù),并行插入到表中。兩個(gè)獨(dú)立的操作都實(shí)現(xiàn)了并行化。并行操作增加了在修改數(shù)據(jù)時(shí)的操作性能,但是會(huì)同時(shí)大量的產(chǎn)生連續(xù)重做日志,使得日志的記錄成為操作的瓶頸。因此我們?cè)诮⑺饕臅r(shí)候使用了nologging選項(xiàng),使用nologging選項(xiàng)以后,會(huì)帶來(lái)一些問題,這要引起我們的注意。Select語(yǔ)句所需要的數(shù)據(jù)的物理位置如果一次全表掃描的數(shù)據(jù)全部包含在一塊硬盤上,那么將會(huì)造成巨大的IO瓶頸,可以通過并行操作來(lái)獲得性能增益的潛在規(guī)則是:數(shù)據(jù)存儲(chǔ)在不同的設(shè)備上,或者IO還有很大的空間(例如RAID技術(shù))。使用并行處理,如果存在IO瓶頸,那么會(huì)產(chǎn)生大量的IO請(qǐng)求,這些IO請(qǐng)求會(huì)放在IO請(qǐng)求隊(duì)列中。因此使用并行處理的前提是:系統(tǒng)的IO還存在空間,并行處理不是解決IO瓶頸,而是會(huì)造成IO瓶頸因此:要確保你的數(shù)據(jù)分布得當(dāng),否則并行查詢服務(wù)器進(jìn)程可能會(huì)加劇已經(jīng)存在的IO瓶頸問題。使用并行操作創(chuàng)建索引的時(shí)候,需要考慮的因素1、如果內(nèi)存中沒有足夠的排序空間(sort_area_size),那么將會(huì)使用到臨時(shí)表空間,建議將臨時(shí)表空間建立在至少和并行度一樣多數(shù)目的數(shù)據(jù)文件上,而且數(shù)據(jù)文件分開存放(磁盤驅(qū)動(dòng)器)。2、當(dāng)增加/啟用一張表上的主鍵或者唯一鍵時(shí),不能使用并行處理,可以采用首先并行創(chuàng)建索引,然后使用alter來(lái)增加/啟用約束條件,同時(shí)指定usingindex子句,要使他正常工作,索引和約束條件必須具有相同的名字createtablenew_emptablespaceusersstorage(initial75mnext25mpctincrease0)parallel(degree4)asselect/*+parallel(emp,4)*/*fromemp/為執(zhí)行高效并行操作而分布數(shù)據(jù)的實(shí)際示例上面建表的例子中,如果這是一個(gè)初始時(shí)數(shù)據(jù)負(fù)載很小但是數(shù)據(jù)在不斷增加的數(shù)據(jù)倉(cāng)庫(kù),則可以采用如下方法1、表空間users,包含4個(gè)數(shù)據(jù)文件,每個(gè)數(shù)據(jù)文件大小是100M,分布在不同的磁盤上。2、在createtable中指定minextent4(對(duì)象建立時(shí)指定分配多少個(gè)extents,上面的語(yǔ)句中,初始extents的大小是75m,這樣可以保證四個(gè)extents分布到四個(gè)數(shù)據(jù)文件上,因此extents不能跨越數(shù)據(jù)文件)3、每個(gè)數(shù)據(jù)文件還剩余25m空間,因此再次分配擴(kuò)展空間的時(shí)候,仍然分配到了4個(gè)數(shù)據(jù)文件上4、臨時(shí)表空間的定義也要使用4個(gè)數(shù)據(jù)文件,分布到不同的磁盤上總之:想盡辦法實(shí)現(xiàn)數(shù)據(jù)的平均分布注意:如果使用的是OMF,那么初始化參數(shù)db_create_file_dest將會(huì)影響文件的建立位置,很可能造成IO沖突??梢允褂眠壿嬀淼姆绞?,邏輯卷本身分布在多個(gè)磁盤上。還可以采用alterdatabase或者altertablespace的方式移動(dòng)并重命名數(shù)據(jù)文件。并行DML語(yǔ)句和示例Oracle8rdbms提供了并行執(zhí)行DML的能力,在SQL會(huì)話中并行執(zhí)行DML語(yǔ)句的操作時(shí),必須啟用對(duì)并行DML的支持。下面是并行執(zhí)行DML的條件1、如果您沒有首先完成事務(wù),您就不能啟用一個(gè)并行DML會(huì)話,首先需要對(duì)事務(wù)進(jìn)行提交或者回滾2、必須使用altersessionenableparalleldml啟用會(huì)話的并行功能3、直到并行事務(wù)結(jié)束以后,才可讀取一張被并行DML修改的表(通過提交或者回滾操作)注意:并行DML和并行DDL以及并行查詢不是互斥的下面的語(yǔ)句阻礙了并行DML的執(zhí)行SelectforupdateRX鎖LocktableExplainplan并行DML的約束條件相對(duì)并行查詢和DDL,并行DML的約束條件較多,因此如何正確的使用并行DML呢,需要注意下面的約束條件:1、分區(qū)功能能夠無(wú)限地并行執(zhí)行UPDATE、DELETE與MERGE語(yǔ)句。當(dāng)訪問分區(qū)或未分區(qū)的數(shù)據(jù)庫(kù)對(duì)象時(shí)Oracle將并行處理SELECT與INSERT語(yǔ)句。當(dāng)不使用位圖索引時(shí),也可以對(duì)分區(qū)或未分區(qū)的數(shù)據(jù)庫(kù)對(duì)象并行處理UPDATE、DELETE和MERGE語(yǔ)句。為了對(duì)有位圖索引的對(duì)象并行處理那些操作,目標(biāo)表必須先分區(qū)。2、當(dāng)一張表正在被并行DML命令修改時(shí),那么同一個(gè)事務(wù)內(nèi)對(duì)同一張表的訪問未結(jié)束前(commit或者rollback),其他任何DML操作或查詢都無(wú)法訪問該表3、如果一張表上有觸發(fā)器,將不支持并行DML操作,正在執(zhí)行復(fù)制操作的表上也無(wú)法執(zhí)行并行DML4、使用deletecascade刪除一張有外鍵的表的操作也無(wú)法實(shí)現(xiàn)并行,如果DML中牽涉主鍵,也就不能并行刪除帶有延遲約束或自引用外鍵的表5、在對(duì)象和lob列上不支持并行DML操作,但是可以在同一個(gè)表的其他列上執(zhí)行6、針對(duì)集群表的DML操作不能做并行處理7、對(duì)遠(yuǎn)程對(duì)象的任何insert/update/merge/delete操作都不能做并行處理8、在oracle9i之前,從并行dml執(zhí)行期間的系統(tǒng)故障中恢復(fù)事務(wù)是串行化執(zhí)行,但在oracle9i中,oracle可以在事務(wù)恢復(fù)的前滾階段和回滾階段均提供并行化處理update/*+parallel(emp,4)*/empsetempno=12whereempno=20/同一個(gè)會(huì)話中,一旦開啟并行以后,不能再進(jìn)行DML和select。另起一個(gè)查詢,可以執(zhí)行select操作,執(zhí)行dml的時(shí)候,表被鎖定。會(huì)話提交以后,另外一個(gè)會(huì)話可以執(zhí)行刪除。在一個(gè)會(huì)話中執(zhí)行上面的操作以后,
并行update不能執(zhí)行普通update可以執(zhí)行。結(jié)論:并行update鎖定是整個(gè)表,在別的會(huì)話中不能對(duì)表進(jìn)行任何的DML操作。上面的示例演示了一個(gè)結(jié)果:并行DML的并發(fā)性很差,需要及時(shí)的提交并行DML所在的事務(wù)。Parallel技術(shù)對(duì)于一個(gè)大的任務(wù),一般的做法是利用一個(gè)進(jìn)程,串行的執(zhí)行,如果系統(tǒng)資源足夠,可以采用parallel技術(shù),把一個(gè)大的任務(wù)分成若干個(gè)小的任務(wù),同時(shí)啟用n個(gè)進(jìn)程/線程,并行的處理這些小的任務(wù),這些并發(fā)的進(jìn)程稱為并行執(zhí)行服務(wù)器(parallelexecuteionserver),這些并發(fā)進(jìn)程由一個(gè)稱為并發(fā)協(xié)調(diào)進(jìn)程的進(jìn)程來(lái)管理。啟用Parallel前的忠告:只有在需要處理一個(gè)很大的任務(wù),如需要幾十分鐘,幾個(gè)小時(shí)的作業(yè)中,并且要有足夠的系統(tǒng)資源的情況下(這些資源包括cpu,內(nèi)存,io),您才應(yīng)該考慮使用parallel。否則,在一個(gè)多并發(fā)用戶下,系統(tǒng)本身資源負(fù)擔(dān)已經(jīng)很大的情況下,啟用parallel,將會(huì)導(dǎo)致某一個(gè)會(huì)話試圖占用了所有的資源,其他會(huì)話不得不去等待,從而導(dǎo)致系統(tǒng)系能反而下降的情況,一般情況下,oltp系統(tǒng)不要使用parallel,olap系統(tǒng)中可以考慮去使用。Parallel分類l
并行查詢parallelqueryl
并行dmlparalleldmlpdmll
并行ddlparallelddlpddl
l
并行查詢并行查詢?cè)试S將一個(gè)sqlselect語(yǔ)句劃分為多個(gè)較小的查詢,每個(gè)部分的查詢并發(fā)地運(yùn)行,然后將各個(gè)部分的結(jié)果組合起來(lái),提供最終的結(jié)果,多用于全表掃描,索引全掃描等,大表的掃描和連接、創(chuàng)建大的索引、分區(qū)索引掃描、大批量插入更新和刪除
啟用并行查詢SQL>ALTERTABLET1PARALLEL;告知oracle,對(duì)T1啟用parallel查詢,但并行度要參照系統(tǒng)的資源負(fù)載狀況來(lái)確定。利用hints提示,啟用并行,同時(shí)也可以告知明確的并行度,否則oracle自行決定啟用的并行度,這些提示只對(duì)該sql語(yǔ)句有效。SQL>select/*+parallel(t18)*/count(*)fromt1;
SQL>selectdegreefromuser_tableswheretable_name='T1';DEGREE--------------------DEFAULT
并行度為Default,其值由下面2個(gè)參數(shù)決定SQL>showparametercpu
NAMETYPEVALUE-----------------------------------------------------------------------------cpu_countinteger2parallel_threads_per_cpuinteger2
cpu_count表示cpu數(shù)parallel_threads_per_cpu表示每個(gè)cpu允許的并行進(jìn)程數(shù)default情況下,并行數(shù)為cpu_count*parallel_threads_per_cpu取消并行設(shè)置SQL>altertablet1noparallel;SQL>selectdegreefromuser_tableswheretable_name='T1';DEGREE----------------------------------------1l
并行dml并行dml包括insert,update,delete,merge,在pdml期間,oracle可以使用多個(gè)并行執(zhí)行服務(wù)器來(lái)執(zhí)行insert,update,delete,merge,多個(gè)會(huì)話同時(shí)執(zhí)行,同時(shí)每個(gè)會(huì)話(并發(fā)進(jìn)程)都有自己的undo段,都是獨(dú)立的一個(gè)事務(wù),這些事務(wù)要么由pdml協(xié)調(diào)器進(jìn)程提交,要么都rollback。在一個(gè)有充足I/o帶寬的多cpu主機(jī)中,對(duì)于大規(guī)模的dml,速度可能會(huì)有很大的提升,尤其是在大型的數(shù)據(jù)倉(cāng)庫(kù)環(huán)境中。并行dml需要顯示的啟用SQL>altersessionenableparalleldml;
Disable并行dmlSQL>altersessiondisableparalleldml;l
并行ddl并行ddl提供了dba使用全部機(jī)器資源的能力,常用的pddl有createtableasselect……createindexalterindexrebuildaltertablemovealtertablesplit在這些sql語(yǔ)句后面加上parallel子句例SQL>altertablet1moveparallel;TablealteredSQL>createindexT1_IDXonT1(OWNER,OBJECT_TYPE)2tablespaceSYSTEM3
parallel;4
;下面的程序清單展示了一個(gè)并行DDL語(yǔ)句。注意這個(gè)示例,兩個(gè)不同的部分得到并行化處理的:查詢,并行度為6;填充表,并行度為4。createtableCOST_SUMMARY
parallel4
as
select/*+PARALLEL(COSTS,6)*/
Prod_Id,Time_Id,SUM(Unit_Cost)Cost
from
COSTS
group
byProd_Id,Time_Id;如果不使用CREATETABLEASSELECT語(yǔ)法,可以首先創(chuàng)建表,然后并行化處理INSERT語(yǔ)句,如下面的程序清單所示。APPEND提示僅僅用于填充新的數(shù)據(jù)塊,此處使用它只是為了向您展示它的語(yǔ)法。
insert
/*+APPENDPARALLEL(COST_SUMMARY,4)*/
into
COST_SUMMARY(Prod_Id,Time_Id,Cost)
select
/*+PARALLEL(COSTS,6)*/
Prod_Id,Time_Id,SUM(Unit_Cost)Cost
from
COSTS
groupbyProd_Id,Time_Id;27041rowscreated.技巧:可以在一個(gè)INSERTASSELECT語(yǔ)句的多個(gè)部分中使用PARALLEL提示。并行度為4的插入操作需要將一張表的MAXTRANS參數(shù)至少設(shè)置為4,并且還要求4個(gè)空間足夠的回滾段來(lái)處理每個(gè)事務(wù)(設(shè)置事務(wù)使用回滾段的命令不支持并行化處理)。注意:如果使用了自動(dòng)撤消管理,回滾段的資源將不會(huì)出現(xiàn)問題。通過v$視圖監(jiān)控并行操作V$PQ_TQSTATselectDFO_Number,TQ_ID,Server_Type,Num_Rows,Bytes,Waits,ProcessfromV$PQ_TQSTAT/1、每個(gè)服務(wù)器進(jìn)程處理的數(shù)據(jù)行數(shù)和字節(jié)數(shù)2、DBA將V$PQ_TQSTAT視圖用于調(diào)整長(zhǎng)時(shí)間運(yùn)行的查詢時(shí),可獲得最佳效果,這些查詢服務(wù)器進(jìn)程間進(jìn)行特定的調(diào)整和數(shù)據(jù)分布的評(píng)估select
DFO_Number,TQ_ID,Server_Type,
Num_Rows,Bytes,Waits,Process
from
V$PQ_TQSTAT;DFO_NUMBERTQ_IDSERVER_TYPENUM_ROWS
BYTES WAITSTIMEOUTSPROCE
-----------------------------------------------------------
1
0
Consumer
14
0
P000
2
0
Producer
23657
232290
7
0
P003
2
0
Producer
12323
90923
7
0
P002
2
0
Producer
12321
92300
7
0
P001
2
0
Consumer
1905352234322
48
2
QC在這個(gè)示例中,可以看到兩個(gè)并行操作的結(jié)果。第一個(gè)并行操作只牽涉到一個(gè)并行執(zhí)行服務(wù)器。第二個(gè)并行操作牽涉到三個(gè)并行執(zhí)行服務(wù)器(P001,P002和P003)和一個(gè)協(xié)調(diào)進(jìn)程QC。對(duì)于第二個(gè)并行操作(DFO_Number=2),您可以看到進(jìn)程P003的工作負(fù)載比其他進(jìn)程更重。需要進(jìn)行更多的測(cè)試,以決定是否存在問題。同時(shí)應(yīng)當(dāng)注意到上面程序清單的輸出結(jié)果的最后一行是一個(gè)查詢協(xié)調(diào)進(jìn)程。它有一個(gè)高于平均水平的等待值,因?yàn)樗枰退衅渌牟樵兎?wù)器進(jìn)程進(jìn)行通信。當(dāng)前負(fù)載情況下正在執(zhí)行的服務(wù)器數(shù)量,以及并行服務(wù)器啟動(dòng)和關(guān)閉頻率視圖V$PQ_SYSSTATselect/*+parallel(emp,4)*/*fromscott.emp/技巧:通過查詢并行執(zhí)行前后的這個(gè)數(shù)值的增加,知道采用了并行查詢。有8個(gè)idle進(jìn)程,而我們的并行進(jìn)程只需要4個(gè),因此上面的數(shù)量沒有增加。正在執(zhí)行的并行進(jìn)程的數(shù)量協(xié)調(diào)進(jìn)程這三個(gè)參數(shù)比較重要如果服務(wù)器的數(shù)量開始持續(xù)增長(zhǎng),就要考慮增加初始化參數(shù)PARALLEL_MIN_SERVERS的值。然而,如果并行執(zhí)行服務(wù)器是通過PARALLEL_MIN_SERVERS參數(shù)啟用,它將一直存在,直到數(shù)據(jù)庫(kù)關(guān)閉、并行處理中斷或者進(jìn)程終止為止。這將導(dǎo)致進(jìn)程的內(nèi)存碎片,所以只能在您確定需要的時(shí)候再增加它。因此上面的服務(wù)器進(jìn)程是因?yàn)椴⑿刑幚矶黾拥?。V$PQ_SESSTAT要提供當(dāng)前會(huì)話的統(tǒng)計(jì)信息,請(qǐng)查詢V$PQ_SESSTAT視圖。使用這個(gè)視圖可以查看當(dāng)前會(huì)話中正在執(zhí)行的查詢的數(shù)量,以及并行化處理的DML操作的數(shù)量。僅查看當(dāng)前會(huì)話。最近一次查詢的信息1、最后一次并行處理是查詢,只啟用了一個(gè)并行操作2、啟用的進(jìn)程數(shù)是10這個(gè)會(huì)話沒有啟用過并行處理,因此統(tǒng)計(jì)信息全部是0.下面的程序清單展示了一個(gè)查詢V$PX_SESSTAT的簡(jiǎn)單示例。在這個(gè)示例中,如果您想執(zhí)行一個(gè)并行度為12的并行查詢,而PARALLEL_MAX_SERVERS的值為10,您將得到以下信息:
Select
DISTINCTReq_Degree,Degree
from
V$PX_SESSTAT;REQ_DEGREE
DEGREE
--------------------------------------
12
10只有在一個(gè)并行操作正在執(zhí)行時(shí)才能應(yīng)用V$PX_SESSTAT視圖;只要并行操作一結(jié)束,該視圖中的內(nèi)容就清空了。………..
每一個(gè)新發(fā)布的Oracle版本都可能會(huì)往PLAN_TABLE中增加一些新的列。因此在每一次升級(jí)Oracle內(nèi)核后,您應(yīng)當(dāng)刪除并重新創(chuàng)建PLAN_TABLE表。如果您將現(xiàn)有的數(shù)據(jù)庫(kù)升級(jí)到一個(gè)新的Oracle版本,應(yīng)當(dāng)刪除舊的PLAN_TABLE表并重新執(zhí)行utlxplan.sql腳本,以便查看新版PLAN_TABLE表的所有列。 查詢的并行化處理的相關(guān)信息保存在PLAN_TABLE表的Object_Node、Other_Tag以及Other列中。Object_Node列提供了所有關(guān)于查詢服務(wù)器進(jìn)程的相關(guān)信息。Other_Tag列描述了Other列項(xiàng)的功能。Other列包含了一個(gè)衍生出的SQL語(yǔ)句PLAN_TABLE.Other_Tag中有關(guān)并行操作的可能值值描
述PARALLEL_COMBINED_WITH_CHILD該操作的父操作同時(shí)執(zhí)行父操作和子操作;Other列值為NULLPARALLEL_COMBINED_WITH_PARENT該操作的子操作同時(shí)執(zhí)行父操作和子操作;Other列值為NULLPARALLEL_TO_PARALLEL并行執(zhí)行Other列中的SQL,結(jié)果將返回給第二組查詢服務(wù)器進(jìn)程PARALLEL_TO_SERIAL并行執(zhí)行Other列中的SQL,結(jié)果將返回給一個(gè)串行進(jìn)程(通常是查詢協(xié)調(diào)進(jìn)程)PARALLEL_FROM_SERIALSQL操作從一個(gè)串行操作中獲得數(shù)據(jù),而輸出結(jié)果是并行的;Other列為NULLSERIALSQL語(yǔ)句是串行執(zhí)行的(默認(rèn)值);Other列為NULL.SERIAL_FROM_REMOTEOther列中的SQL語(yǔ)句在遠(yuǎn)程站點(diǎn)運(yùn)行當(dāng)一個(gè)操作是并行化處理的,它將基于ROWID值的范圍劃分為多個(gè)查詢服務(wù)器進(jìn)程;而范圍是基于表中連續(xù)數(shù)據(jù)塊的分布情況的??梢允褂肙ther_Tag列來(lái)驗(yàn)證查詢中不同操作的并行化處理情況,也可以查看在Other列中的并行化查詢。select
/*+FULL(company)FULL(sales)USE_MERGE(companysales)*/
COMPANY.Name,Sales.Sales_Total
from
COMPANY,SALES
where
COMPANY.Company_ID=SALES.Company_ID
and
SALES.Period_ID=3;下面的程序清單在COMPANY表和SALES表間強(qiáng)制執(zhí)行合并連接;由于合并連接牽涉到全表掃描和排序,所以可對(duì)多個(gè)操作進(jìn)行并行化處理??梢允褂肙ther_Tag列查看并行操作之間的關(guān)系。MERGEJOIN
SORTJOIN
TABLEACCESSFULLCOMPANY
SORTJOIN
TABLEACCESSFULLSALES正如計(jì)劃所示,Oracle在每一張表上執(zhí)行一次全表掃描(TABLEACCESSFULL),然后將結(jié)果排序(使用SORTJOIN操作),并合并結(jié)果集。查詢展示了每一個(gè)操作的Other_Tag值。select
LPAD('',2*Level)||Operation||''||Options
||''||Object_NameQ_Plan,Other_Tag
fromPLAN_TABLE
whereStatement_ID='TEST'
connectbypriorID=Parent_IDandStatement_ID='TEST'
startwithID=1;explainplansetstatement_id=‘TEST'for….Q_PLAN
OTHER_TAG
------------------------------- ----------------------------
MERGEJOIN
PARALLEL_TO_SERIAL
SORTJOIN
PARALLEL_COMBINED_WITH_PARENT
TABLEACCESSFULLCOMPANY
PARALLEL_TO_PARALLEL
SORTJOIN
PARALLEL_COMBINED_WITH_PARENT
TABLEACCESSFULLSALES
PARALLEL_TO_PARALLEL從上面的程序清單中,可以看到(通過PARALLEL_TO_PARALLEL的Other_Tag值)每一個(gè)TABLEACCESSFULL操作都是并行化處理的,并將結(jié)果提供給了一個(gè)并行排序操作。在PLAN_TABLE表中每一條TABLE
ACCESS
FULL操作的記錄都將在它們的Other列中保存并行查詢的文本。在Other列中保存的關(guān)于TABLEACCESSFULL操作的值顯示了表的掃描是基于ROWID值的范圍。排序連接操作的參數(shù)為PARALLEL_COMBINED_WITH_PARENT(它們的父操作是合并連接),其Other列的值為NULL。合并連接操作的參數(shù)為PARALLE_TO_SERIAL(合并操作是并行化處理的,輸出結(jié)果提供給串行查詢的協(xié)調(diào)進(jìn)程),其Other列的值將顯示合并是如何操作的。Object_Node列的值顯示了并行操作牽涉到的查詢服務(wù)器進(jìn)程的信息。下面的程序清單展示了合并連接查詢對(duì)COMPANY表執(zhí)行TABLEACCESSFULL操作時(shí)Object_Node和Other列的值。setlong1000
selectObject_Node,Other
from
PLAN_TABLE
where
Operation||''||Options='TABLEACCESSFULL'
and
Object_Name='COMPANY';OBJECT_NODE OTHER
---------------------------------------------------------
:Q15000
SELECT/*+ROWID(A1)*/A1."COMPANY_ID"C0,
A1."NAME"C1
FROM"COMPANY"A1
WHEREROWIDBETWEEN:1AND:2查看每一個(gè)操作的并行執(zhí)行情況,根據(jù)需要添加適當(dāng)?shù)奶崾?。Object_Node列代表了一個(gè)并行查詢服務(wù)器進(jìn)程(Q15000是一個(gè)內(nèi)部識(shí)別號(hào),在這個(gè)示例中是Oracle指派給進(jìn)程的)。Other列顯示了COMPANY表受到ROWID值的限制。查詢中的每一個(gè)查詢服務(wù)器進(jìn)程根據(jù)ROWID值的不同范圍執(zhí)行全表掃描,如上面的程序清單所示。排序連接和合并連接操作將掃描表得到的結(jié)果排序和合并(以并行的方式)。OBJECT_NODE OTHER
---------------------------------------------------------
:Q15000
SELECT/*+ROWID(A1)*/A1."COMPANY_ID"C0,
A1."NAME"C1
FROM"COMPANY"A1
WHEREROWIDBETWEEN:1AND:2
查詢Other_Tag列來(lái)查看哪個(gè)操作是并行化處理的。如果一個(gè)操作沒有并行處理,而您認(rèn)為它應(yīng)當(dāng)并行處理,就需要在查詢中增加相應(yīng)的提示,為表設(shè)置一個(gè)并行度,或者檢查查詢服務(wù)池的大小,以確認(rèn)在查詢時(shí)可以使用查詢服務(wù)器進(jìn)程。 同樣,還可能存在用戶組的限制,以及PARALLEL_ADAPTIVE_USER和PARALLEL_MIN_PERCENT的設(shè)置問題。這些都可能阻止并行化處理的執(zhí)行。使用腳本來(lái)查看執(zhí)行計(jì)劃。使用setautotraceon命令在使用setautotraceon命令之后,每個(gè)查詢都會(huì)顯示它的執(zhí)行路徑和解析查詢過程中牽涉到的進(jìn)程的高級(jí)跟蹤信息。為了使用setautotraceon命令,必須先以您的賬戶來(lái)創(chuàng)建PLAN_TABLE表。當(dāng)使用setautotraceon命令時(shí),您不需要設(shè)置Statement_ID,也不需要管理PLAN_TABLE表中的記錄。要禁用自動(dòng)跟蹤功能,可以使用setautotraceoff命令。如果您使用了setautotraceon命令,在查詢完成之前您是看不到查詢的EXPLAINPLAN,除非您指定了TRACEONLY選項(xiàng)。EXPLAINPLAN命令在查詢執(zhí)行前首先顯示執(zhí)行路徑。因此,如果無(wú)法獲知查詢的性能,那么可以在運(yùn)行查詢前先運(yùn)行EXPLAINPLAN命令。如果您確定一個(gè)查詢的性能是可以接受的,就可以使用setautotraceon命令來(lái)驗(yàn)證它的執(zhí)行路徑。setautotraceonrem
remforthisexample,disablehashjoins
remtoforcemergejoinstooccur.
rem
altersessionsethash_join_enabled=FALSE;
rem
select
*+FULL(company)FULL(sales)USE_MERGE(companysales)*/
COMPANY.Name,Sales.Sales_Total
from
COMPANY,SALES
where
COMPANY.Company_ID=SALES.Company_ID
andSALES.Period_ID=3;ExecutionPlan
----------------------------------------------------------
0
SELECTSTATEMENT Optimizer=CHOOSE(Cost=10Card=1Bytes=59)
1
0
MERGEJOIN*(Cost=10Card=1Bytes=59)
:Q17002
2
1
SORT*(JOIN)
:Q17002
3
2
TABLEACCESS*(FULL)OF'COMPANY'(Cost=1Card=1Bytes=20) :Q17000
4
1
SORT*(JOIN)
:Q17002
5
4
TABLEACCESS*(FULL)OF'SALES'(Cost=1Card=1Bytes=39) :Q17001
AUTOTRACE命令的輸出結(jié)果顯示了每一行的ID列,以及所進(jìn)行的操作和操作對(duì)象。最右側(cè)的信息(:Q17002等)唯一標(biāo)識(shí)了查詢中所使用的并行查詢服務(wù)器。合并查詢示例中AUTOTRACE命令輸出結(jié)果的第二部分中,使用了步驟ID值來(lái)描述執(zhí)行路徑操作的并行處理情況,如下面的程序清單所示。1PARALLEL_TO_SERIAL
SELECT/*+ORDEREDNO_EXPANDUSE_MERGE(A2)*/ A1.C1,A2.C1,A2.C2FROMA1,A2WHEREA1.C0=A2.C0
:Q170012PARALLEL_COMBINED_WITH_PARENT
3PARALLEL_TO_PARALLEL
SELECT/*+ROWID(A1)*/A1."COMPANY_ID" C0,A1."NAME"C1FROM"COMPANY"A1WHEREROWID BETWEEN:1AND:2
:Q170004PARALLEL_COMBINED_WITH_PARENT
5PARALLEL_TO_PARALLEL
SELECT/*+ROWID(A1)*/A1."COMPANY_ID" C0,A1."SALES_TOTAL"C1,A1."PERIOD_ID"C2FROM"SALES" A1WHEREROWIDBETWEEN:1AND:2AND A1."PERIOD_ID"=3 :Q17002初始化參數(shù)設(shè)置在一個(gè)使用并行操作的數(shù)據(jù)庫(kù)中,物理內(nèi)存的相關(guān)參數(shù)的設(shè)置通常比在沒有使用并行操作的數(shù)據(jù)庫(kù)中的設(shè)置要高很多。初始化參數(shù)含
義建
議
值COMPATIBLE設(shè)置這個(gè)參數(shù)為實(shí)例的發(fā)行
版本級(jí)別,使您可以充分利
用RDBMS引擎內(nèi)置的所
有功能。Oracle建議在修改
該參數(shù)前備份數(shù)據(jù)庫(kù)通常情況下應(yīng)設(shè)置為數(shù)據(jù)庫(kù)版本的默認(rèn)值。備用數(shù)據(jù)庫(kù)應(yīng)當(dāng)使用對(duì)主數(shù)據(jù)庫(kù)和備用數(shù)據(jù)庫(kù)一致的設(shè)置*DB_BLOCK_SIZE設(shè)置數(shù)據(jù)庫(kù)數(shù)據(jù)塊的大小通常情況下,應(yīng)在數(shù)據(jù)倉(cāng)庫(kù)中使用所支持的最大值,而在OLTP中使用較小的尺寸。在Oracle9i中,可以使用不同的數(shù)據(jù)塊尺寸創(chuàng)建緩存和表空間*DB_CACHE_SIZE
(即以前版本的
Oracle中DB_BLOCK_BUFFERS乘以
DB_BLOCKSIZE的結(jié)果)支持大量的進(jìn)程來(lái)執(zhí)行并
行查詢和DML操作,
增加可用的內(nèi)存增加它以支持并行操作*DB_FILE_MUL
TIBLOCK_READ_COUNT決定了全表掃描中一次可以讀取多少數(shù)據(jù)塊。使用表掃描將提高表掃描時(shí)
并行操作的性能依賴于操作系統(tǒng)*DISK_ASYNCH_IO支持操作系統(tǒng)的異步寫操作,可以減少潛在的I/O瓶頸DISK_ASYNCH_IO是否該設(shè)置為TRUE取決于操作系統(tǒng)是否支持異步I/O,以及在這個(gè)平臺(tái)上它是否能穩(wěn)定運(yùn)行*DML_LOCKS設(shè)置數(shù)據(jù)庫(kù)所需要的DML鎖定的最大數(shù)量。默認(rèn)值假定每個(gè)事務(wù)平均牽涉到4張表默認(rèn)值是4*TRANSACTIONS。增加它以支持并行DML操作*ENQUEUE_RESOURCES指定當(dāng)前數(shù)據(jù)庫(kù)中可
以鎖定的不同數(shù)據(jù)庫(kù)
結(jié)構(gòu)的數(shù)量。如果
使用了并行DML,
需要增加該值,
使其超過默認(rèn)值默認(rèn)值是根據(jù)SESSINOS得到的。
隊(duì)列資源是一個(gè)用于存儲(chǔ)鎖定ID、
被鎖定對(duì)象的信息和鎖定請(qǐng)求的
內(nèi)存結(jié)構(gòu)。所以,ENQUEUE_
RESOURCES的設(shè)置值減去后臺(tái)進(jìn)
程占用的隊(duì)列數(shù)量,就是您系
統(tǒng)中可以同時(shí)激活其他鎖定的數(shù)量*HASH_AREA_SIZE指定用于散列連接
的最大內(nèi)存數(shù),
以字節(jié)為單位如果并行查詢經(jīng)常用到散列連接,
就增加該參數(shù)值。只有在您擁
有的空間不
大于或SORT_AREA_SIZEPGA_
AGGREGATE_TARGET
的平均值時(shí),才應(yīng)當(dāng)增加該參數(shù),
因?yàn)樗哪J(rèn)值來(lái)自
SORT_AREA_SIZELARGE_POOLlargepool分配堆使
用的并行執(zhí)行作為
消息緩沖在Oracle10g中,
只有設(shè)置SGA_TARGET后并行執(zhí)
行才將緩沖分配到
largepool之外默認(rèn)值通常可行,
但如果您增加了
PARALLEL_EXECUTION_MESSAGE_SIZE的值,
也應(yīng)當(dāng)為這個(gè)參數(shù)設(shè)置
一個(gè)更高的值*LOG_BUFFER增加該值,以支持并
行DML生成的
事務(wù)卷(transactionvolume)默認(rèn)值是524288,最小設(shè)
為512KB如果頻繁使用并
行DML,就需增加該值PARALLEL_ADAPTIVE_MULTI_USER基于活動(dòng)的并行用
戶數(shù)來(lái)減少并行度如果需要,設(shè)置該參數(shù)為
FALSE并通過數(shù)據(jù)庫(kù)資源
管理器代替它來(lái)控制并行資源PARALLEL_EXECUTION_ME_SSAGE_SIZE為所有的并行操作
指定消息的大小。
若參數(shù)值比默認(rèn)
值大,則需要一個(gè)
更大尺寸的共享池依賴于操作系統(tǒng)。值的范
圍為2148~65535。若將這
個(gè)參數(shù)設(shè)置成一個(gè)更大的值,
則并行操作可更好地執(zhí)行,
但需要更多的內(nèi)存,這可
能對(duì)非并行操作或應(yīng)用程
序的性能產(chǎn)生影響PARALLEL_MAX_SERVERS允許同時(shí)存在的并
行查詢服務(wù)器進(jìn)
程的數(shù)量從CPU_COUNT、PARALLEL_THREADS_PER_CPU和PGA_AGGREGATE_TARGET
的值中派生默認(rèn)值
PARALLEL_MIN_PERCENT如果無(wú)法得到查詢需要
的并行度(服務(wù)數(shù)量)的
最小百分比,語(yǔ)句將
會(huì)中斷并報(bào)錯(cuò)(ORA-
12827)。當(dāng)不希望語(yǔ)
句串行化執(zhí)行時(shí),
該參數(shù)非常有用默認(rèn)值為0,范圍為0~100。如果是0,并行操作永遠(yuǎn)按照并行操作執(zhí)行。如果是100,只有在可以獲得所有服務(wù)器的情況下,操作才會(huì)并行執(zhí)行PARALLEL_MIN_SERVERS當(dāng)生成實(shí)例時(shí)可以創(chuàng)
建的服務(wù)器的最小數(shù)量。
無(wú)論服務(wù)器是否空閑或
者中斷,但服務(wù)器的
數(shù)量永遠(yuǎn)不會(huì)低于這個(gè)參數(shù)0~O/S的限制值。開始時(shí)多是10~24。如果V$視圖顯示并行查詢負(fù)載很重,可以考慮改變這個(gè)值。請(qǐng)?jiān)O(shè)置好這個(gè)參數(shù)PARALLEL_THREADS_PER_CPU指定實(shí)例默認(rèn)的并行度,
取決于在并行操作期間,
CPU可以支持的并行
執(zhí)行進(jìn)程的數(shù)量任何非0整數(shù);默認(rèn)值取決于操作系統(tǒng)。這里的“數(shù)字乘以CPU數(shù)”是指并行操作時(shí)使用的線程數(shù)量PGA_AGGREGATE_TARGET在牽涉到排序和散列連
接等需頻繁使用內(nèi)存的
SQL操作時(shí),啟用自動(dòng)
調(diào)整SQL工作空間大小的功能一個(gè)可以幫助控制頁(yè)面管理的有用參數(shù),因?yàn)槟鷮GA的目標(biāo)定位到系統(tǒng)中供Oracle實(shí)例使用的總內(nèi)存,并減少了SGA。它可以用于排序操作以及第4章中討論的其他相關(guān)操作RECOVERY_PARALLELISM專用于恢復(fù)實(shí)例和
介質(zhì)的恢復(fù)進(jìn)程的數(shù)量在2和PARALLEL_MAX_SERVERS之間的一個(gè)值。值0或1表示將執(zhí)行串行恢復(fù)操作*ROLLBACK_SEGMENTS實(shí)例的回滾段的名稱如果要頻繁使用并行DML操作,使用該參數(shù)可增加回滾段的數(shù)量。使用撤消管理可能會(huì)更好。*SHARED_POOL_SIZEOracle共享池的大小
。共享池的一部分用于
查詢服務(wù)器通信使用當(dāng)使用高負(fù)荷、并行PQ時(shí),應(yīng)當(dāng)將當(dāng)前值增加5%~10%,但只有在Parallel_Automatic_Tuning(中不支持)設(shè)置為FALSE時(shí),該參數(shù)才發(fā)揮作用。如果使用SGA_TARGET并設(shè)置正確,就不需要這個(gè)參數(shù)*TAPE_ASYNCH_IO支持操作系統(tǒng)的異步操作,
減少潛在的I/O瓶頸該參數(shù)只影響對(duì)串行設(shè)備的寫操作。
它對(duì)并行備份操作和使用
RMAN有用,但對(duì)并行查詢
和DML操作不重要。默認(rèn)值是TRUE*TRANSACTIONS指定并行事務(wù)的數(shù)量
,如果密集使用并行
DML的話,應(yīng)當(dāng)增
加該參數(shù)默認(rèn)值從SESSIONS的設(shè)置得到。
增加它用來(lái)支持并行DML操作性能比較和監(jiān)控并行操作為了顯示非并行操作和并行操作間的性能差異,我們將執(zhí)行以下測(cè)試:(1)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 14學(xué)習(xí)有方法(教學(xué)設(shè)計(jì))部編版道德與法治二年級(jí)下冊(cè)
- 13 精衛(wèi)填海 教學(xué)設(shè)計(jì)-2024-2025學(xué)年統(tǒng)編版語(yǔ)文四年級(jí)上冊(cè)
- 20《金字塔》教學(xué)設(shè)計(jì)-2023-2024學(xué)年五年級(jí)下冊(cè)語(yǔ)文統(tǒng)編版
- 鼻炎膏成分對(duì)鼻黏膜微環(huán)境影響-深度研究
- 中外服裝史知到課后答案智慧樹章節(jié)測(cè)試答案2025年春德州學(xué)院
- 銀川市重點(diǎn)中學(xué)2025屆高三下學(xué)期教學(xué)質(zhì)量監(jiān)測(cè)(三模)英語(yǔ)試題含解析
- 新疆哈密市第十五中學(xué)2024-2025學(xué)年高三(高補(bǔ)班)下學(xué)期期末語(yǔ)文試題試卷含解析
- 吉首大學(xué)《給排水管道工程》2023-2024學(xué)年第二學(xué)期期末試卷
- 郴州思科職業(yè)學(xué)院《傳熱學(xué)基礎(chǔ)》2023-2024學(xué)年第二學(xué)期期末試卷
- 江西財(cái)經(jīng)大學(xué)現(xiàn)代經(jīng)濟(jì)管理學(xué)院《運(yùn)籌學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 2021年無(wú)人機(jī)駕駛員考試題庫(kù)及答案(完整版)
- 人教版英語(yǔ)四年級(jí)上冊(cè)《Unit-3-My-friends》單元教學(xué)課件
- 宿舍專項(xiàng)檢查表
- 同位素水文學(xué)研究綜述
- 樁基靜載試驗(yàn)
- 鋰電池企業(yè)標(biāo)準(zhǔn)質(zhì)量手冊(cè)
- (完整版)離婚協(xié)議書標(biāo)準(zhǔn)版下載
- 山西焦煤集團(tuán)正仁煤業(yè)有限公司礦產(chǎn)資源開發(fā)利用、地質(zhì)環(huán)境保護(hù)與土地復(fù)墾方案
- 2023年安徽高校教師崗前培訓(xùn)結(jié)業(yè)統(tǒng)考試題及參考答案
- 駕駛員安全技術(shù)交底
- 醫(yī)院臨床、醫(yī)技科室績(jī)效考核辦法
評(píng)論
0/150
提交評(píng)論