已索引
The session waits while a sequential read from the database is performed.
通常指索引的读取,但不绝对:
- 有些索引读取会发生 db file scattered read 等待
- 有时候表的读取会发生 db file sequential 等待
- undo 的读取,会使用 db file sequential 等待
常见的原因如下:
- 应用软件质量较高,大量SQL语句都采用了索引
- 创建了大量无用的索引,且因为DML操作导致索引维护工作量增加
- 频繁的 DML 操作导致索引碎片,增加了索引的IO开销
- 部分索引设计不合理,虽然使得了索引,但是是索引扫描,类似于全表扫描
官方文档提到,该等待事件也被用于如下几种情况:
- rebuilding the control file
- dumping datafile headers
- getting the database file headers
如何解决:
- 无需解决(不可避免,正常现象)
- 改善SQL语句的效率
- 考虑其它方式的索引(复合索引、位图索引、全文索引)
- 全表扫描+并行
- 改善磁盘IO