对扫描进行多块读取调用时,Oracle将最多读取到位于表中高水位线的数据块。高水位线标出了表中最后一块有数据写入的数据块。
当数据行插入一张表中的时候,就会为其分配数据块并将数据行放到其中。如下图所示。
在经过一系列操作之后,数据行被从表中删除。如下图为删除掉很多行之后的情景。
即使几乎所有数据行都被删除了并且一些实际上已经完全变成空的了,高水位线还是保持不变。进行全扫描时,到高水位线为止的所有数据块都将被读取并扫描,即使他们是空的。
如下给出了即使表中的所有行都被删除掉了,高水位线还是保持不变。
原文地址:http://www.cnblogs.com/HeiSe2014/p/3850127.html