1. 程式人生 > >ORACLE HINT 之 PARALLEL

ORACLE HINT 之 PARALLEL

 

強制啟用oralce的多執行緒處理功能。

並行查詢允許將一個sql select 語句劃分為多個較小的查詢,每個部分的查詢併發的執行,然後將各個部分的結果組合起來,提供最終的結果,多用於全表掃描,索引全掃描等,大表的掃描和連線,建立大的索引,分割槽索引掃描,大批量插入更新和刪除。

Parallel分類

▶ 並行查詢 parallel query:加在select後面使用

▶ 並行DML parallel dml pdml:加在delete、update、insert後面使用

▶ 並行DDL parallel ddl pddl:加在create table * as select * from table中使用

強制啟用oralce的多執行緒處理功能。將一個語句劃分為多個較小的查詢,每個部分的查詢併發的執行,然後將各個部分的結果組合起來,提供最終的結果,多用於全表掃描,索引全掃描等,大表的掃描和連線,建立大的索引,分割槽索引掃描,大批量插入更新和刪除。

parallel語法

/*+parallel(table_short_name,cash_number)*/

這個可以加到insert、delete、update、select的後面來使用

開啟parallel功能的語句是:

alter session enable parallel dml;

這個語句是DML語句,如果在程式中用,用execute的方法開啟。

Parallel後面的數字,越大,執行效率越高。這個跟server的配置還有oracle的配置有關,增大到一定值,效果就不明顯了。所以,一般用4,,8,10,12,16的比較常見。不過,數值越大,佔用的資源也會相對增大的。

Parallel也可以用於多表,多表的話,就是在第一後面,加入其他的就可以了。具體寫法如下:

/*+parallel(t,10) (b,10)*/

Parallel並行模式:https://www.cnblogs.com/xingmeng/p/3303761.html