2016年8月1日星期一

oracle的并行查询

parallel_server不是并行查询用的,是给RAC用的,和并行查询没有一毛钱关系,这个糊涂了一下。


一般下面几个参数调节,hint里面的并行是会起作用的,就算table自身没有并行。
parallel_degree_policy
parallel_max_servers
parallel_min_servers
parallel_servers_target


测试如下
1.先disable并行
ALTER TABLE SKADVUSER.AD_ORDER_LEADINFO NOPARALLEL;
2 SELECT * FROM AD_ORDER,看计划,没有PX msg pool相关的东西。
3. select /*+ parallel(o 2) */ * from ad_order o,看机会,有了px。

还有个法子,就是直接enable session的并行,
alter session force parallel query;

不要并行
用no_parallel,或者直接将 parallel_max_servers设置为0。
parallel_degree_polic默认是manual,所以,如果表设置了并行,还是会并行。

http://m.blog.itpub.net/9240380/viewspace-1806660/
http://oracleinaction.com/statement-queueing/
http://blog.csdn.net/tianlesoftware/article/details/5854583

没有评论:

发表评论