功能
默认是一个cpu的进程执行一个串行的sql语句,现在cpu都具有多线程核心,可以对数据量过大的一个串行的任务,拆分成若干个子任务进行并行处理。cpu的总线程决定了parallel调用的最大资源。
条件
必须有足够的资源进行使用——如:cpu、I/O等
必须有一个非常大的任务
语法
alter table [table_name] parallel 2; --oracle 创建这个表的任务时,并行度为4
alter table [table_name] parallel; --Oracle创建这个表的任务时,根据系统本身工作负载和查询本身大小来确定适合的并行度。oracle能动态的增加和减少所需要的并行资源。
开启parallel功能语句:
alter session enable parallel dml;
/+parallel(table_short_name,cash_number)/
select /+parallel(t,4)/ emp_id,count() from emp_trade t;
insert /+parallel(4)/ into emp select /+parallel(4)*/ emp_id,emp_name from emp_trade t;
注:这个可以加到insert、delete、update、select的后面来使用(和rule的用法差不多,有机会再分享rule的用法)
关闭parallel功能语句:
alter session disable parallel dml;
同类文章:https://blog.csdn.net/zengmingen/article/details/50998632