about FTS(Full Table Scan) V db file scattered read&db file sequential read
2011-01-26 14:05
381 查看
我们知道全表扫描的时候执行的是多块扫描I/O,一次I/O多块读取块数取决于db_file_multiblock_read_count,每次多块读取的时候都要等到物理I/O结束(关于这个参数,针对不同OS和环境有不通的默认值,要知道所在环境可以设置最大的值是多少,设置一个超大的数字,oracle会设置成允许的最大值)这时候出现了db file scattered read等待事件。
那么会出现db file sequential read吗?答案是会的,它在FTS中是会出现的:
0 达到区界线
假设一次Multi Block I/O读取8个块,如果一个区有9个块,那么读取这个区的时候,剩下的一个块就是Single Block I/O读取,也就带来了db file sequential read和它的等到事件
1 读取缓存的块
如读取8个块是,第3个块被缓存,那么前2个块通过Multi Block I/O,第3个块是一次Logical I/O,剩下的5个块Multi Block I/O。这是多次I/O。
2 行链接
在执行FTS过程中,如果发现行链接,oracle为了读取剩下的行引起的附件I/O,执行的是Single Block I/O。btw行链接无法避免,行迁移可以消除。
-The End-
那么会出现db file sequential read吗?答案是会的,它在FTS中是会出现的:
0 达到区界线
假设一次Multi Block I/O读取8个块,如果一个区有9个块,那么读取这个区的时候,剩下的一个块就是Single Block I/O读取,也就带来了db file sequential read和它的等到事件
1 读取缓存的块
如读取8个块是,第3个块被缓存,那么前2个块通过Multi Block I/O,第3个块是一次Logical I/O,剩下的5个块Multi Block I/O。这是多次I/O。
2 行链接
在执行FTS过程中,如果发现行链接,oracle为了读取剩下的行引起的附件I/O,执行的是Single Block I/O。btw行链接无法避免,行迁移可以消除。
-The End-
相关文章推荐
- Db file sequential read while doing full table scan?
- High Waits on 'Db File Sequential Read' Due to Table Lookup Following Index Access (文档 ID 875472.1)
- db file scattered read和sequential read.
- High Waits on 'Db File Sequential Read' Due to Table Lookup Following Index Access
- db file sequential read与db file scattered read
- db file sequential read事件
- 模拟等待事件:db file sequential read
- 根据statspack报表优化oracle数据库实例之“DB file scattered read”
- db file sequential read等待事件的一点研究
- Oracle waits event:DB File Sequential Read
- db file sequential read
- 详解 db file sequential read 等待事件
- db file sequential read事件
- db file sequential read
- 模拟db file scattered read
- Statspack之十二-db file scattered read-DB文件分散读取(转帖)
- 全表扫描引发的db file sequential read
- db file sequential read等待事件的一点研究
- db file sequential read等待事件
- 模拟DB File Sequential Read