若是要DML實現真正意義上的併發,在開始執行須要併發語句前,須要執行開啓session併發 ALTER SESSION ENABLE PARALLEL DML; 在執行完語句後,須要執行關閉session併發 ALTER SESSION DISABLE PARALLEL DML;session
使用並行,加快大量數據更新:併發
Oracle 對Delete,update,merge的操做限制在,只有操做的對象是分區表示,Oracle 纔會啓動並行操做。緣由在於,對於分區表,Oracle 會對每一個分區啓用一個並行服務進程同時進行數據處理,這對於非分區表來講是沒有意義的。spa
merge /*+parallel(test1,4)*/ into test1 using test2code
on (test1.id = test2.id)對象
when matched then update進程
set test1.name = nvl2(test1.name,test2.name,test1.name);io
merge into tpr_fwzh1 a using tpr_zwjjx_jxcll b on (a.fwcode=b.fwcode and a.zjlx=b.zjlx) when matched then update set a.zhye=b.dqye,a.lxye=a.lxye+b.jxlxtest