我是靠谱客的博主 超帅期待,最近开发中收集的这篇文章主要介绍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 和 并行所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(47)

评论列表共有 0 条评论

立即
投稿
返回
顶部