oracle hint 和 并行

16 篇文章 0 订阅
7 篇文章 0 订阅
--------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 可通过前台应用手工分割(按地区 年度 。。) 并行执行
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值