• ORACLE并行SQL执行PARALLEL


    执行多个SQL语句时可以通过配置并行执行来提高执行效率.

    几个基本概念:

    1). 并行度(Degree of parallelism):
    单个操作所关联的并行执行服务器个数. 它有以下条件决定:
    1. 在执行语句中的PARALLEL子句
    2. 对于一个查询的对象,在创建或更改该对象时使用了PARALLEL关键字
    3. PARALLEL hint
    4. 有数据库决定的默认值

    2). 并行执行服务器(Parallel Execution Servers)
    当数据库实例启动后,数据库创建一个并行执行服务器池以供并行操作. 一个叫parallel execution coordinator的进程负责分配Parallel Execution Servers并协调把并行执行的结果返回给用户.

    默认情况下Parallel Execution Servers处于开启状态,因为参数parallel_max_servers默认的大于0.

    SQL> show parameter parallel_max_servers

    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    parallel_max_servers                 integer     10


    配置并行执行:
    可以通过ALTER SESSION子句来控制并行执行.

    1). 关闭并行执行特性
    ALTER SESSION DISABLE PARALLEL DML|DDL|QUERY
    执行该语句后,所有随后的DML, DDL 和查询操作都将是序列化,而不管该对象在创建时是否有指定了PARALLEL关键字, 也忽略执行语句中指定的PARALLEL关键字.

    SQL> alter session disable parallel ddl;

    Session altered.

    2). 开启并行执行特性
    ALTER SESSION ENABLE PARALLEL DML|DDL|QUERY
    执行该语句后,随后的包含PARALLEL关键字或hint的执行语句都将并行执行.
    默认情况下,并行执行特性对DDL和查询语句是开启.
    SQL> alter session enable parallel dml;

    Session altered.

    3). 强制并行执行SQL语句
    ALTER SESSION FORCE PARALLEL DML|DDL|QUERY
    执行该语句可以强制执行并行操作.

    SQL> ALTER SESSION FORCE PARALLEL DDL PARALLEL 5;
    在建表时指定PARALLEL执行
    SQL> CREATE TABLE hr.admin_emp_dept
    PARALLEL COMPRESS
    AS SELECT * FROM hr.employees
    WHERE department_id = 10;
  • 相关阅读:
    C#文件操作常用相关类(Directory类、File类、Path类)
    winform使用相对路径读取文件的方法
    设置GridView不换行强制GridView不换行GridView强制不换行
    VS2010 Visual Studio2010 保护视力 背景色设置颜色设置
    20190306
    20190325
    常用DOS命令
    项目创建
    VS2015自定义工具栏,往工具栏上添加按钮
    ping不通公网ip时路由器设置
  • 原文地址:https://www.cnblogs.com/cinemaparadiso/p/16458743.html
Copyright © 2020-2023  润新知