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

猜你喜欢

转载自www.cnblogs.com/wangrui1587165/p/9963059.html