什么是并行
并行是Oracle为了提高大数据量的运算效率而提供多进程协作技术,它可以让多个CPU同时处理一个计算任务,充分使用系统资源,提高计算效率。
什么操作支持并行
大部分的DML(insert/update/delete/merge)、DDL、Query都支持并行操作。
什么情况下需要启用并行
多线程执行一个sql,提高运行速度;
并不是所有的SQL都应该使用并行。要使用并行需满足以下两个条件,否则结果可能适得其反:
1) 机器有充分的空闲资源(CPU、内存等)
2) 参与运算的数据量大。在当前系统初定于参与运算数据量大于10GB或者SQL运行时间超过30分钟可考虑使用并行。
如何启用并行
可以用hint、alter session或者设置对象并行属性三种方式设置启用并行。三种方式任意一种就可以使并行生效,如果多种方式同时存在的话,则优先级顺序是:hint -> alter session -> table/index degree。
写法:
set echo on
set timing on
set sqlblanklines on
alter session force parallel dml parallel 8; (8: cpu总数 x 4 目前是8以下)
alter session force parallel query parallel 8;
alter session force parallel ddl parallel 8;