您当前位置:优侠库 > 资讯攻略 >
来源:未知
2020-03-18 13:20:32 浏览: 分类:资讯攻略

oracle并行查询常用7问

在OLAP环境下,更多的CPU和内存资源用于加速数据处理,即oracle的并行查询。一个CPU一次只能服务一个进程。如果有多个CPU,可以通过提高CPU利用率法则来同时运行多个进程。即原来的单进程处理变成了多进程并行处理的加速执行时间。并行执行只用于整表处理或分区,以及在分区表中执行局部索引。并行查询用于以下情况:

全表扫描、重建索引、更新(全表或分区表)、插入的并行子查询、使用本地索引、批量插入(如SQLLDR)以及创建临时表。

例如,我们执行

select /*+ parallel(c1,2) */

...

来自客户c1

以...排序...流程a流程b

从提取行从提取行

顾客顾客

|| ||

|| ||

^^ ^^

流程c流程d

排序行(a-k)排序行(l-z)

合并行

||

返回结果集

这里我们看到这个过程分为四个过程,每个过程负责a-k和l-z,这样就可以并行处理。

在分区表中,我们也可以使用并行从进程来对应一个分区表。如果你的并行度是3,那么你的执行速度可能比普通的高3倍。

注意,在单CPU下,如果使用并行,可能会造成性能下降,要设置合适的并行度。

并行适用于长时间运行的语句。

并行处理可能不适合oltp,因为并发事务很多,每个用户都要用CPU,所以CPU负载本来就高。

所以并行处理更适合olap中的批量导入,sqlldr,mis报表,oltp中的重建索引。

查看是否安装了并行选项。

从V $选项中选择*

其中参数如“并行%”;

看一看

平行执行是真的吗?

如果为真,则在执行语句后检查。

select * from V$pq _ sesstat;

其中类似“% Parallelized”的名称;

如果查询是并行的>:& gt0表示执行并行。

可以强制使用并行,不考虑CPU数量,但是在单个CPU下使用并行没有优势。

alter session强制并行查询;

在对表执行全表扫描时,可以强制使用并行查询。

alter table tablename并行7;

关键词:甲骨文

优侠库网站每天提供最新最热门的安卓手机软件、游戏下载、分享热门手游资讯攻略教程、手机软件教程步骤,专注安卓手机游戏软件下载。

本文链接:http://www.123down.cn/gonglue/227328.html

攻略资讯
安卓软件
安卓游戏