首页 > Linux操作系统 > Linux操作系统 > Availability and Compression of Free Space in a Data Block

Availability and Compression of Free Space in a Data Block

原创 Linux操作系统 作者:oracle_ace 时间:2008-01-08 14:18:27 0 删除 编辑

对于data block中的free space的机制论述如下:
Two types of statements can increase the free space of one or more data blocks:
DELETE statements,
UPDATE statements that update existing values to smaller values.
The released space from these types of statements is available for subsequent INSERT statements under the following conditions:
(DELETE和UPDATE可以release我们data block中的free space,而这些release的free space可以被后继的Insert statement使用)

1.If the INSERT statement is in the same transaction and subsequent to the statement that frees space, then the INSERT statement can use the space made available.
(如果后继的Insert statement和delete以及update等语句处于同一个transactions,那么insert statement就可以直接使用这些release的free space)

2.If the INSERT statement is in a separate transaction from the statement that frees space (perhaps being run by another user), then the INSERT statement can use the space made available only after the other transaction commits and only if the space is needed.
(如果后继的Insert statement和delete以及update等语句处于不同的 transactions,那么只有当这些release free space的transaction被commit,且释放了free space空间后,后继的insert statement才可以使用)

Released space may or may not be contiguous with the main area of free space in a data block. Oracle coalesces the free space of a data block only when
(1) an INSERT or UPDATE statement attempts to use a block that contains enough free space to contain a new row piece.
(2) the free space is fragmented so the row piece cannot be inserted in a contiguous section of the block. Oracle does this compression only in such situations, because otherwise the performance of a database system decreases due to the continuous compression of the free space in data blocks.

来自 “ ITPUB博客 ” ,链接:,如需转载,请注明出处,否则将追究法律责任。

上一篇: block的一些概念
下一篇: Temporary Tables
请登录后发表评论 登录


  • 博文量
  • 访问量