请参考http://docs.oracle.com/cd/E11882_01/server.112/e41084/statements_2013.htm
并行 DML | DDL |查询
PARALLEL 参数确定会话中的所有后续 DML、DDL 或查询语句是否将被考虑并行执行。此子句使您能够在当前会话期间覆盖表的并行度,而无需更改表本身。在为 DML 执行此子句之前,必须提交或回滚未提交的事务。
启用子句
指定 ENABLE 以并行执行会话中的后续语句。这是 DDL 和查询语句的默认设置。
•
DML:如果指定了并行提示或并行子句,则以并行模式执行 DML 语句。
•
DDL:如果指定了并行子句,则以并行方式执行 DDL 语句。
•
QUERY:如果指定了并行提示或并行子句,则以并行模式执行查询。
对 ENABLE 子句的限制 您不能使用 ENABLE 指定可选的 PARALLEL 整数。
禁用子句
指定禁用以串行执行会话中的后续语句。这是 DML 语句的默认设置。
•
DML:DML 语句是串行执行的。
•
DDL:DDL 语句是串行执行的。
•
QUERY:查询是串行执行的。
对 DISABLE 子句的限制 您不能使用 DISABLE 指定可选的 PARALLEL 整数。
FORCE 子句
FORCE 强制在会话中并行执行后续语句。如果未指定并行子句或提示,则使用默认并行度。此子句覆盖会话中后续语句中指定的任何 parallel_clause,但被并行提示覆盖。
•
DML:如果没有违反并行 DML 限制,则会话中的后续 DML 语句将以默认并行度执行,除非在此子句中指定了并行度。
•
DDL:会话中的后续 DDL 语句以默认并行度执行,除非在此子句中指定了并行度。生成的数据库对象将与主要的并行度相关联。
指定 FORCE DDL 会自动导致在此会话中创建的所有表都以默认并行度级别创建。效果与您在 CREATE TABLE 语句中指定了 parallel_clause(具有默认度数)一样。
•
QUERY:后续查询以默认并行度执行,除非在此子句中指定了并行度。
PARALLEL integer 指定一个整数来明确指定并行度:
•
对于 FORCE DDL,度数会覆盖后续 DDL 语句中的任何并行子句。
•
对于 FORCE DML 和 QUERY,度数会覆盖当前为数据字典中的表存储的度数。
•
通过提示在语句中指定的度数将覆盖强制的度数。
以下类型的 DML 操作不会与此子句无关:
•
对聚表的操作
•
具有写入或读取数据库或包状态的嵌入式函数的操作
•
对带有可能触发的触发器的表进行操作
•
对包含对象类型或 LONG 或 LOB 数据类型的表或模式对象的操作