您的位置:首页 > 产品设计 > UI/UE

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-
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: