db文件分散阅读
官网解释:
这一事件意味着用户进程缓冲区解读 SGA缓冲区缓存,等待驱使着返回。<代码> db文件分散阅读> 代码分散阅读阅读的问题 数据输入。
<代码> db文件代码> <代码> 代码> <代码> 代码> <代码>分散阅读代码>等发生事件标识一次全盘扫描。当执行一个完整的扫描到缓冲区 缓存,数据块不读是读到内存位置 身体上彼此相邻。这样的阅读被称为分散阅读 电话,因为分散在内存块。这就是为什么 相应的等待事件称为“db文件分散阅读”。 多次拉丝(<代码> DB_FILE_MULTIBLOCK_READ_COUNT> 代码块)由于全扫描读入缓冲区缓存显示为等待“db文件分散阅读”。
检查以下<代码> V $ SESSION_WAIT> 代码参数列:
- <李>
<代码> P1> 代码:绝对文件号
李> <李><代码> p> 代码:块读
李> <李><代码> P3> 代码:块的数量(应该大于1)
李>
健康系统,物理读等待空闲等待后应该是最大的等待。还不过,考虑是否有直接读等待(标志着全表扫描并行查询)或db文件分散阅读等待> <李>
缓冲区缓存命中率差
李> <李>这些等待事件积累的大部分用户的等待时间经历贫穷的响应时间
李>解释:db文件分散阅读等待事件:是由于多数据块读操作产生的,当我们检索数据时从磁盘上读取数据到内存中,一次I/0读取多个数据块,而数据块在内存中是分散分布并不是连续的,当数据块读取到内存中的这个过程就会产生“db文件分散阅读”事件。
,,,,多个数据块读场景:
,,,,,,(1)罚球(全表扫描)全表扫描
,,,,,,(2)敌我识别(指数快速完整的扫描)索引快速全扫描:把索引链切割成很多份,多块并行读取。