系统城装机大师 - 固镇县祥瑞电脑科技销售部宣传站!

当前位置:首页 > 数据库 > oracle > 详细页面

Oracle中的高效SQL编写PARALLEL解析

时间:2023-10-31来源:系统城装机大师作者:佚名

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创建DBlink的过程及使用方法

    1. ORACLE DBlink的创建和使用 1.1. 基本概念: 1.2. 概述 1.2.1. database link分类 1.3. database link的创建 1.4. 查看dblink 1.5. 使用toad for oracle创建dblink 1.6. database link删除 1.7. 通过dblink应用例子...

    2023-10-31

  • Oracle数据库启停命令示例

    在windos下数据库安装过后,oracle数据库会跟随系统自启动。在linux下需要手动设置oracle启动,下面这篇文章主要给大家介绍了关于Oracle数据库启停命令的相关资料,需要的朋友可以参考下...

    2023-10-31

系统教程栏目

栏目热门教程

人气教程排行

站长推荐

热门系统下载