`

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

 
阅读更多
1.用途   
强行启用并行度来执行当前SQL。这个在Oracle 9i之后的版本可以使用,之前的版本现在没有环境进行测试。也就是说,加上这个说明,可以强行启用Oracle的多线程处理功能。举例的话,就像电脑装了多核的CPU,但大多情况下都不会完全多核同时启用(2核以上的比较明显),使用parallel说明,就会多核同时工作,来提高效率。    但本身启动这个功能,也是要消耗资源与性能的。所以,一般都会在返回记录数大于100万时使用,效果也会比较明显。
  
2.语法
/*+parallel(table_short_name,cash_number)*/    这个可以加到insert、delete、update、select的后面来使用(和rule的用法差不多,有机会再分享rule的用法)   
开启parallel功能的语句是:
alter session enable parallel dml;

这个语句是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使用后导致系统无响应等情况发生。


分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    Oracle hint

    - `/*+ NESTED_LOOPS */`:指定使用嵌套循环连接,这是默认的连接方法。 使用Hint时应谨慎,因为过度依赖Hint可能会导致优化器无法充分利用其自动优化的能力。在使用Hint之前,建议先分析查询的执行计划,以确定...

    Parallel execution 并行查询的性能测试

    select /*+ parallel(t2) */ count(*) from qbtb_zdry_sfxxt group by HJDQH order by 1; -- 更高的并行度 select /*+ parallel(t8) */ count(*) from qbtb_... ``` #### 分析与结论 1. **无并行查询**:...

    oracle sql 语句暗示 hints

    - **`/*+ USE_NL (表名) */`**:强制使用嵌套循环连接方法。 - **`/*+ NO_INDEX (表名) */`**:禁止使用任何索引,只能进行全表扫描。 ##### 2.2 连接方法暗示 连接方法暗示用于控制不同表之间的连接方式,常用的...

    Oracle Parallel SQL

    DOP的值可以通过多种方式设置,包括但不限于SQL提示(`/*+ PARALLEL(table_name, degree) */`)、会话参数(`_parallel_degree_policy`)等。 2. **并行查询的语法**: 为了指定并行查询,可以在SQL语句中添加特定的...

    oracle hints详细介绍

    - **Parallel Execution (并行执行)**:通过`/*+ PARALLEL(table_name num_processes) */`来启用并行执行。 - **Dynamic Sampling (动态采样)**:使用`/*+ DYNAMIC_SAMPLING(level) */`来调整动态采样的级别,以...

    Oracle_SQL学习笔记

    - 使用 `/*+PARALLEL(table_name, num_parallel)*/` 提示来指定查询的并行度。 - `num_parallel` 通常设置为 CPU 的核心数或者稍微高一点的数值,如 4 或 8。 - 示例命令: ```sql SELECT /*+PARALLEL(a, 4)*/ *...

    Oracle网络编程PLSQL

    根据提供的文件信息,我们可以深入探讨Oracle数据库中的SQL与PL/SQL编程相关的重要知识点。 ### SQL语法部分 #### CREATETABLE语句 `CREATETABLE`语句用于创建一个新的表,是数据库中最常用的基础操作之一。其...

    Oracle Parallel 并行处理

    标题:Oracle Parallel 并行处理 描述:在Oracle数据库中,通过并行处理技术,一个SQL语句可以被多个线程或进程同时处理,从而显著提升执行效率。 ### Oracle并行处理技术概述 Oracle并行处理是Oracle企业版提供的...

    exp,imp 与 expdp,impdp 对比 及使用中的一些优化事项.doc

    - **合理选择模式**:根据实际情况选择传统路径或直接路径模式,对于大量数据处理建议使用直接路径模式。 - **参数优化**:合理设置参数如BUFFER等,以提升性能。 **2. expdp/impdp 的优化** - **并行处理**:利用...

    Oracle+12c最佳参数实践.pdf

    ### Oracle 12c 最佳参数实践解析 #### 一、显示参数设置 根据提供的部分内容,我们可以看到关于Oracle 12c的一些最佳实践参数设置。这些设置对于优化Oracle数据库性能至关重要,下面将对每个参数进行详细解读。 ...

    Oracle数据库操作大全

    - **优化磁盘I/O**: 通过RAID技术、使用更快的磁盘驱动器等方法来提高I/O性能。 - **数据块大小调整**: 根据系统的特点和负载选择合适的数据块大小。 - **3.1.3 优化排序**: - **使用索引**: 通过创建合适的索引...

    oracle-interview-questions

    ### Oracle Interview Questions详解 #### 一、Co-related Subquery与Nested Subquery的区别 **知识点:** - **Co-related Subquery(关联子查询)**: 在这种类型的子查询中,内部查询只执行一次,并根据该结果来...

    JVM相关的常见面试问题汇总.pdf

    - **方法**: 类的方法定义。 - **常量池**: 存储类或接口中用到的所有常量。 - **属性**: 如源文件名、代码行号等辅助信息。 #### 2.2 什么是常量? 2.3 怎么理解常量池? - **常量**: 在程序运行过程中不会改变的...

    oracle优化

    ### Oracle优化方法详解 #### 一、概述 Oracle 数据库作为一种高性能的关系型数据库管理系统,在企业级应用中扮演着至关重要的角色。为了确保系统的稳定性和高效性,对Oracle数据库进行优化至关重要。本文旨在深入...

    Oracle数据库规划设计和运行维护方案.docx

    ### Oracle数据库规划设计和运行维护方案知识点详述 #### 一、前言 - **编写目的**:本方案旨在为Oracle数据库的设计与维护提供一套全面、系统的指导思路和技术框架。 - **方案说明**:该方案覆盖了数据库从规划到...

    oracle数据泵详解

    - **EXP 和 IMP**:这是在Oracle 10g之前的版本中使用的工具,它们既可以作为客户端工具使用,也可以在服务器端使用。 - **EXPDP 和 IMPDP**:这些工具仅能在Oracle服务器端使用,无法在客户端运行。 - **兼容性**:...

Global site tag (gtag.js) - Google Analytics