oracle使用hint启用并行,oracle hint 和 并行

--------HINT---------------------

1、给优化器多出一种选择 种类: 单表 多表 子查询 整个SQL语句

2、HINT 指定表名不能带上所在SCHEMA名 如果有别名应该使用别名

3、HINT生效的范围仅限于本身所在的查询块(QUERY BLOCK) 如在查询块外则失效 除非指定查询块名称 full(@sel$1 t1) 或 full(t1@sel$1)

4、多个HINT中间用空格隔开 逗号等关键字会导致后面的HINT失效

-------------并行--------------

1、MPP(SHARED NOTHING) SMP(SHARED EVERYTHING)

2、能够并行的操作

并行查询(全表扫描 快速索引全扫描 分区索引范围扫描 全表扫描的表连接)

并行DDL (CREATE TABLE AS SELECT |CREATE INDEX| REBUILD INDEX| REBUILD INDEX PARTITION|MOVE/SPLIT/COALESCE/PARTITION ) 需注意操作后会导致对象的默认并行度变化

并行DML  ALTER SESSION FORCE PARALLEL DML|ALTER SESSION ENABLE PARALLEL DML+HINT

仅修改并行度和加并行HINT时 不能并行DML 只有其中的SELECT能并行 伪并行

并行数据加载 SQL*LOADER DIRECT方式

并行备份与恢复 RMAN多通道

并行收集统计信息

3、并行流程 用户进程发起SQL - 数据库后台进程(QC)协调启动子进程(QS)-(QS)会分组并通过TABLE QUEUES(TQ)传递-(QS)返回结果给(QC)-(QC)作相应处理返回给用户

QC - PX COORDINATOR

QUERY SLAVE SET 至少1组 至多2组,可能并行子进程数是并行度的2倍

TABLE QUEUE类型 PRODUCER CONSUMER RANGER

数据传递方法 HASH BROADCAST PARTITION ORDER QC(RANDOM)

4、是否启用并行 根据PARALLEL_MIN_TIME_THRESHOLD决定

5、RAC环境 并行可跨节点

6、ORACLE自身的并行可能存在各种未知bug 可通过前台应用手工分割(按地区 年度 。。) 并行执行

你可能感兴趣的:(oracle使用hint启用并行,oracle hint 和 并行)