Oracle中的高效SQL编写PARALLEL解析

 更新时间:2023年07月03日 11:13:21   作者:dingjun123  
这篇文章主要介绍了Oracle中的高效SQL编写PARALLEL解析,在Oracle中,PARALLEL(并行)方式最大化调用计算机资源来成倍提高数据分析效率,这个在Oracle 9i之后的版本可以使用,需要的朋友可以参考下

Oracle 的并行执行是一种分而治之的方法. 执行一个 SQL 时, 分配多个并行进程同时执行数据扫描,连接以及聚合等操作, 使用更多的资源(CPU,IO等),得到更快的SQL响应时间。并行执行是充分利用硬件资源,处理大量数据时的核心技术。

并行使用场景:OLAP系统、OLTP里的诸如CREATE INDEX的操作,加速创建索引,在OLTP系统中要慎用。

什么时候会用到并行:DDL(CREATE INDEX、CREATE TABLE AS等)、DML(UPDATE,DELETE,MERGE,INSERT INTO SELECT等)、SELECT(FULL TABLESCAN,INDEX FAST FULL SCAN,PARTITIONED INDEX RANGE SCAN等)

看下面的例子:并行操作的执行计划:

1)TQ(Table queue) 的编号代表了并行执行计划中, 数据分发的顺序。

2)PQ Distribute 列: 数据的分发方式.。

3)In-out 列: 表明数据的流动和分发。

PCWC:parallel combine with child.

PCWP:parallel combine with parent.

P->P:parallel to parallel.

P->S:parallel to Serial并行操作写法注意点:

1)只写PARALLEL(sales8)则customers部分没有并行,从而影响整体并行效率。

2)建议并行写成PARALLEL(8),不要带别名,则sales和customers都为DOP=8的并行。对于并行DML:

首先需要执行:

ALTERSESSION FORCE PARALLEL DML或ALTER SESSION ENABLE PARALLEL DML开启并行DML

然后执行DML语句。

对于INSERTINTO SELECT 的并行操作需要注意:写别名必须INSERT和SELECT部分都写,建议不要写别名则都并行注意表和索引的并行度要设为1,以防自动并行导致性能问题。

到此这篇关于Oracle中的高效SQL编写PARALLEL解析的文章就介绍到这了,更多相关Oracle的PARALLEL解析内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Oracle存储过程及调用

    Oracle存储过程及调用

    这篇文章主要介绍了Oracle存储过程及调用,需要的朋友可以参考下
    2017-06-06
  • Oracle dbca时报:ORA-12547: TNS:lost contact错误的解决

    Oracle dbca时报:ORA-12547: TNS:lost contact错误的解决

    这篇文章主要给大家介绍了关于Oracle在dbca时报:ORA-12547: TNS:lost contact错误的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-11-11
  • oracle 虚拟专用数据库详细介绍

    oracle 虚拟专用数据库详细介绍

    这篇文章详细介绍了oracle 虚拟专用数据库,对行级别和列级别分别举了代码实例并进行分析,内容比较详细,需要的朋友可以参考下。
    2017-09-09
  • Oracle数据库之PL/SQL使用流程控制语句

    Oracle数据库之PL/SQL使用流程控制语句

    这篇文章介绍了Oracle数据库之PL/SQL使用流程控制语句的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • PLSQL developer12汉化过程

    PLSQL developer12汉化过程

    今天小编就为大家分享一篇关于PLSQL developer12汉化过程的文章,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-10-10
  • Oracle归档日志文件(查看、配置、删除)

    Oracle归档日志文件(查看、配置、删除)

    归档日志是非活动的重做日志备份.通过使用归档日志,可以保留所有重做历史记录,本文主要介绍了Oracle归档日志文件(查看、配置、删除),具有一定的参考价值,感兴趣的可以了解一下
    2023-12-12
  • ORACLE中关于表的一些特殊查询语句

    ORACLE中关于表的一些特殊查询语句

    这篇文章主要介绍了ORACLE中关于表的一些特殊查询语句通过多种方式给大家介绍,在文末给大家提到了oracle的单表查询语句,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-11-11
  • Windows系统下Oracle 11g完全卸载教程(推荐!)

    Windows系统下Oracle 11g完全卸载教程(推荐!)

    安装软件是首要,虽然不是特别重要,但是错误的安装也是相当费劲和抓狂的,所以这篇文章主要给大家介绍了关于Windows系统下Oracle 11g完全卸载的相关资料,文中通过图文介绍的非常详细,要的朋友可以参考下
    2024-06-06
  • Oracle中行列转换两种实现方法

    Oracle中行列转换两种实现方法

    在Oracle中可以使用多种方法来实现行转列和列转行,这篇文章主要给大家介绍了关于Oracle中行列转换的两种实现方法,文中介绍的是用PIVOT和UNPIVOT函数,需要的朋友可以参考下
    2023-11-11
  • Oracle连接数据库提示ORA-12638:身份证明检索失败的解决办法

    Oracle连接数据库提示ORA-12638:身份证明检索失败的解决办法

    今天在使用应用程序连接Oracle时碰到了"ORA-12638:身份证明检索失败"错误,给大家总结解决方法,这篇文章主要给大家介绍了关于Oracle连接数据库提示ORA-12638:身份证明检索失败的解决办法,需要的朋友可以参考下
    2023-10-10

最新评论