oracle的并行查询

Oracle的并行查询主要应用于OLAP环境,通过多CPU和内存资源加速数据处理。当满足多个CPU和数据分布在多个磁盘时,全表扫描、重建索引、更新、插入等操作可采用并行执行。并行度设置需谨慎,过高可能导致性能下降,适合长时间运行的语句和特定场景如批量导入、报表生成、重建索引等。通过V$OPTION、V$pq_sesstat等视图可检查并行执行状态。
摘要由CSDN通过智能技术生成
oracle的并行查询

并行查询 满足下面条件:
有多个CPU
数据分离在多个磁盘上

通常用在OLAP环境,以利用多的CPU和内存资源来加速处理数据。因为单个CPU同一时刻只能服务一个进程,如果有多个CPU,提高CPU利用律,就可以同时运行多个进程。也就是原来单个进程处理的变成多个进程并行处理加速执行时间。
并行执行只是在全表处理或者分区及在分区表中执行本地索引时用到
如:全表扫描
rebuild index
update (全表或分区表)
insert的并行子查询
本地索引使用
批量插入,象SQLLDR
创建临时表
比如我们执行
select /*+ parallel(c1 ,2) */
...
from customers c1
order by ...
process a process b
fetch rows from fetch rows from
customers customers
|| ||
|| ||
^^ ^^
process c process d
sort rows(a-k) sort rows(l-z)
combine rows
||
return result set
这里我们看到这个进程分散成4个进程,排序中各负责a-k和l-z,这样就可以并行处理
我们在分区表中,也可以用一个并行从进程对应一个分区表
如果你的并行度是3,那么你可能就比普通的执行速度提高3倍
注意在单CPU下,如果使用并行,那么就可能造成性能下降,而且也要设置
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值