这两个等待事件,一般都是成对出现。在以前我对这两个事件的理解始终存在着误解,现在重新整理归纳如下:
- 这两个事件描述的是 blocks在内存中存储的情况,而不是从disk中读取的情况。也就是说,如果读取的blocks在内容中是连续存放的,那么就触发的是db file sequential read事件;如果在内容中存放的是离散的,那么就是db file scattered read
- 这两个事件是由unix中两个函数来对应:read() 和readv(); 其中,read()读取的是contiguous blocks 并且存放的也是contiguous area,这对应的就是db file sequential file; readv()读取的是contiguos blocks,但是存放确是离散的空间,对应的就是db file scattered read
-
| EventName |
P3=1 |
P3>1 |
| db file sequential read |
Index scan 在一个extent中的table scan 通过rowid读取table |
临时段的读取 |
| db file scattered read |
Never |
FTS fast full-index scan |