高水平探析
概念:
在 Oracle 中,高水位线(High-warter mark, HWM)被用来形容数据块的使用位置,即
说明那些块是已经被使用的,那些没有。在创建一个新的表时,就会为这个对象分
配一个段。在这个段中,第一个区的第一个块在创建时就会被分配存储一些表头信息。
在以往的手动段空间管理中(MSSM),高水位标记 HWM, 一个段分成三部分,
,,其中 和
之间的分界线就是高水位标记 HWM,当进行全表扫描的时候,会扫描到 HWM 下的所
有数据块,即使 中很多数据被删除了,全表扫描还是以 HWM 为准。当插入 ins
er
t 时, 中没有空闲块,HWM 会向上移动,但是只会向上移动,不会自动收缩,即使
delete 大量数据,导致 HWM 下有很多空闲块。
第一个区的第一个块就称为段头(SEGMENT HEADE),段头中就储存了一些信息,基中 HWM
的信息就存储在此.此时,因为第一个区的第一块用于存储段头的一些信息,
虽
然没有存储任何实际的记录,但也算是被使用,此时 HWM 是位于第 2 个块.当我们不断插入数
据到 PM_USER 后,第 1 个块已经放不下后面新插入的数据,此时,ORACLE 将高水位之上的块
用于存储新增数据。
评论