2016-05-23 21 views
0

我想知道我們是否可以在沒有使用並行查詢創建的表上運行並行更新/刪除/插入操作。Oracle:並行DML操作能否在沒有並行屬性的表上發生?

例如:

創建表折扣( SALES_REP_ID號, 折扣數, performance_indicator數 )表空間commt;

(注意在上述DDL查詢不存在並行關鍵字)

現在可以我與下面平行提示更新上述表?

更新/ * + PARALLEL(折扣)*/ 折扣集performance_indicator = 50其中折扣< 30;

回答

1

是的,並行DML可以針對使用NOPARALLEL(默認並行設置)創建的表運行。

表級設置只是爲了方便,對於通常應該使用並行處理的表來說。該設置可能會被SQL提示覆蓋。

但會議將需要運行這個第一:

alter session enable parallel dml; 

,我建議你使用的語句級並行,而不是對象級並行性。這使得語句中的所有內容都以相同的DOP運行。一般來說,如果陳述的一部分使用並行性,他們都應該。只需從查詢中刪除對象名稱,Oracle將爲整個語句設置DOP:

update /*+ parallel */ discount ... 
相關問題