oracle并行parallel oracle設(shè)置表的并行度是什么意思?
oracle設(shè)置表的并行度是什么意思?View DBA使用表數(shù)據(jù)字典時(shí),您可以找到一個(gè)“degree”字段,它表示數(shù)據(jù)表的并行性。該參數(shù)的設(shè)置關(guān)系到數(shù)據(jù)庫(kù)的I/O和SQL的執(zhí)行效率。并行的優(yōu)點(diǎn)是可以最
oracle設(shè)置表的并行度是什么意思?
View DBA使用表數(shù)據(jù)字典時(shí),您可以找到一個(gè)“degree”字段,它表示數(shù)據(jù)表的并行性。該參數(shù)的設(shè)置關(guān)系到數(shù)據(jù)庫(kù)的I/O和SQL的執(zhí)行效率。并行的優(yōu)點(diǎn)是可以最大限度地利用機(jī)器的多個(gè)CPU資源,多個(gè)CPU同時(shí)工作,從而提高數(shù)據(jù)庫(kù)的效率。在系統(tǒng)空閑的時(shí)候,使用并行是一個(gè)不錯(cuò)的選擇,但是好的東西總是相對(duì)的,沒(méi)有絕對(duì)的好壞,使用不當(dāng)也會(huì)給數(shù)據(jù)庫(kù)帶來(lái)新的問(wèn)題。
1. 此參數(shù)的大小設(shè)置orcl@SCOTT>selecttable ame,degreefromuseruutableTableuuNameDegree----------------------------------------------T11TABREGISTER1EMP1EMPuuu1salgrade1bonus1dept1letteruuu1t21baseuuu1t1通過(guò)上面的例子,您可以看到這個(gè)參數(shù)的默認(rèn)值是1,我們認(rèn)為是增加了。當(dāng)set表的并行度非常高時(shí),SQL優(yōu)化器可能會(huì)完全掃描該表,導(dǎo)致directpathread等待。在使用并行查詢(xún)之前,我們需要仔細(xì)考慮,因?yàn)椴⑿胁樵?xún)可以提高程序的響應(yīng)時(shí)間,但是會(huì)消耗更多的資源。對(duì)于低配置的數(shù)據(jù)庫(kù)服務(wù)器,我們需要小心。此外,還需確認(rèn)并行度的設(shè)置應(yīng)與IO系統(tǒng)的配置一致(建議并行度為2~4*CPU)。
2. Altertable parallel(degree 1)--直接指定表的并行度Altertable parallel------將表的并行度設(shè)置為默認(rèn)值3,如何在SQL語(yǔ)句中使用表的并行度,并選擇適當(dāng)?shù)牟⑿卸燃?jí)別。示例:使用并行查詢(xún)的執(zhí)行計(jì)劃的并行性為4orcl@SCOTT>SELECT/*平行(4)*/2最大值(sal),3來(lái)自EMP的AVG(通信)4,dept5其中emp.deptno=部門(mén).deptno6分組1