强制启用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并行模式: