[bbk4975] 第103集 -第13章 - 表空间管理 01
PCTFREE参数的用途:主要是用来保障UPDATE操作的顺利执行,假如在一个block中的数据,都已经满了的情况下,假如再想更新块中的数据的时候,就无法直接保存在本块中了,就会产生row chain or row migration,存放在其他块中,这样本来可以通过一个块就能操作的步骤,现在必须通过读取两个块来完成,影响了执行效率,降低了性能.
PCTFREE参数值,如果表本身修改的比较频繁,那么此值就可以设置的大一点,否则可以设置小一点.如果是数据仓库系统,此值就可以设置为0,因为不存在数据修改.
使用自动段管理的前提,表空间必须是本地管理方式.
row migration:当修改某一行数据的时候,行的链接能够在一个新的块中将本行数据完全能够存放下来的时候,这个时候就会发生行的迁移(row migration)
Block Space Management
Row Chaining and Migration
Example:
- On update:Row length increases,exceeding the available free space in the block.
- Data needs to be stored in a new block.
- Original physical identifier of row(ROWID) is preserved.
- The Oracle database server needs to read two blocks to retrieve data.
- The segment advisor finds segments containing the migrated rows.
- There is automatic coalescing of fragmented free space inside the block.