oracle Parallel模式-Parallel用法(/*+PARALLEL(n)*/)

一、用途
强行启用并行度来执行当前SQL。这个在Oracle 9i之后的版本可以使用,之前的版本现在没有环境进行测试。也就是说,加上这个说明,可以强行启用Oracle的多线程处理功能。举例的话,就像电脑装了多核的CPU,但大多情况下都不会完全多核同时启用(2核以上的比较明显),使用parallel说明,就会多核同时工作,来提高效率。 但本身启动这个功能,也是要消耗资源与性能的。所以,一般都会在返回记录数大于100万时使用,效果也会比较明显。

二、语法
/*+parallel(table_short_name,cash_number)*/
这个可以加到insert、delete、update、select的后面来使用
1、开启parallel功能的语句是:
alter session enable parallel dml;

2、DML语句,可用execute的方法打开。

SELECT  /*+PARALLEL(n)*/  *  FROM table


查看Oracle能利用的最大并行度

SQL> show parameters cpu
NAME                                                TYPE          VALUE
------------------------------------   -----------    -------
cpu_count                                          integer         8
parallel_threads_per_cpu                   integer         2
resource_manager_cpu_allocation     integer         8


值得注意的是,在实际使用中,计算机除了运行Oracle外,同时还在运行其他程序(如系统程序)。
因此,用PARALLEL调用CPU线程值应设定为小于最大CPU线程的数值(笔者一般采用的值为:CPU线程总数-2)以避免将所有CPU资源强行分配给Oracle使用后导致系统无响应等情况发生。
————————————————
参考:https://blog.csdn.net/lan12334321234/article/details/84907176

posted @   山䂥进城  阅读(973)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示