oracle笔记整理11——性能调优之oracle等待事件与表关联

本文详细介绍了Oracle的等待事件,包括空闲事件和非空闲事件,如db file scattered read和db file sequential read,以及表关联的各种方式,如内连接、外连接和哈希连接,并讨论了驱动表和被探查表的概念。通过理解这些概念,有助于进行性能调优。
摘要由CSDN通过智能技术生成

1. oracle等待事件

1) 分类

主要分为两大类:空闲(idle)等待事件和非空闲(non-idle)等待事件,在会话级别可以在视图V$SESSION_WAIT中查看当前等待的时间。

2) 空闲事件

空闲事件指oracle正等待某种工作,不用过多关注。
常见的空闲等待事件:dispatcher timer,pipe get,slave wait,
sql net message from/to client,sql net more data to client

3) 非空闲等待事件

常见的空闲等待事件:

a) db file scattered read:文件分散多块读取
这个事件表明用户进程正在一次I/O读多块数据到Buffer Cache中,等待直到I/O调用返回,通常显示与全表扫描(full table scan / FTS)相关或者IFFS (index fast full scan) 快速索引全扫描(把索引链切割成很多份,多块并行读取)的等待,当全表扫描时,基于性能的考虑,数据会多块读取分散(scattered)读入buffer cache,出现该事件并不一定就表示存在性能问题,但如果该事件的等待的时间太长,就要仔细查看了。

b) db file sequential read
单个数据块/索引块读取到连续的内存中时会发生,常见于存在索引的情况下,可能存在多表连接,表的连接顺序有问题,没有正确使用驱动表,或者存在不适合的索引,同样的,出现该事件并不一定就表示存在性能问题,但如果该事件的等待的时间太长,就要仔细查看了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值