Oracle 等待事件之 db file sequential read

简介:

db file sequential read:

官网解释:

This event signifies that the user process is reading a buffer into the SGA buffer cache and is waiting for a physical I/O call to return. A sequential read is a single-block read.

Single block I/Os are usually the result of using indexes. Rarely, full table scan calls could get truncated to a single block call because of extent boundaries, or buffers present in the buffer cache. These waits would also show up as db file sequential read.

Check the following V$SESSION_WAIT parameter columns:

  • P1: The absolute file number

  • P2: The block being read

  • P3: The number of blocks (should be 1)

On a healthy system, physical read waits should be the biggest waits after the idle waits. However, also consider whether there are db file sequential reads on a large data warehouse that should be seeing mostly full table scans with parallel query.

Figure 10-1 depicts the differences between the following wait events:

  • db file sequential read (single block read into one SGA buffer)

  • db file scattered read (multiblock read into many discontinuous SGA buffers)

  • direct read (single or multiblock read into the PGA, bypassing the SGA)

Figure 10-1 Scattered Read, Sequential Read, and Direct Path Read

wKiom1jjNvvyrXSCAAAuIt3LsAc079.png


解释:

    db sequential read 此事件表示用户进程正在将缓冲区读入SGA缓冲区高速缓存并正在等待物理I / O调用返回。 顺序读取是单块读取


    单块I / O通常是使用索引的结果。

全表扫描调用可能会因缓冲区高速缓存存在的范围边界或缓冲区而被截断的单块调用。 这些等待也将显示为db file sequential read。

    

db file sequential read的优化方法:

  1. 从读取开始,增加SGA中buffer cache的大小,避免每次都从硬盘中去读数;

  2. 优化sql语句,减少不必要的块读取;



本文转自 wangergui 51CTO博客,原文链接:http://blog.51cto.com/wangergui/1912801,如需转载请自行联系原作者
相关文章
|
SQL Oracle 关系型数据库
Polar DB-O (兼容 Oracle 语法版本)和Polar DB PostgreSQL 版本概述(二)
Polar DB-O (兼容 Oracle 语法版本)和Polar DB PostgreSQL 版本概述(二)
1730 0
|
Oracle 前端开发 Java
Oracle优化11-10046事件
Oracle优化11-10046事件
88 0
|
SQL Oracle 关系型数据库
Oracle优化12-10053事件
Oracle优化12-10053事件
98 0
|
Oracle 关系型数据库 数据库
Oracle-等待事件解读
Oracle-等待事件解读
96 0
|
SQL Oracle 关系型数据库
Oracle 等待事件研究:SQL*Net break/reset to client
SQL*Net break/reset to client事件是一个容易被误解的事件,这个事件看起来和网络有关,但实际上大多数情况下这个事件与网络无关。
570 0
Oracle 等待事件研究:SQL*Net break/reset to client
|
SQL 存储 监控
Oracle中的SQL_TRACE是什么?诊断事件是什么?常用的10046及10053诊断事件的区别是什么?
Oracle中的SQL_TRACE是什么?诊断事件是什么?常用的10046及10053诊断事件的区别是什么?
505 0
|
Oracle 关系型数据库 数据库
❤️Oracle TOP5事件解读,性能优化必备技能❤️
❤️Oracle TOP5事件解读,性能优化必备技能❤️
311 0
❤️Oracle TOP5事件解读,性能优化必备技能❤️
|
SQL Oracle 关系型数据库