块空间释放与压缩

Delete, update两类语句可以增加block中的free space

释放的空间在下面的条件下可以被随后的insert使用

1) insert与释放空间的delete/update在同一个事务中,insert在后

2) insertdelete/update在不同事务中, 只有当delete/update所在事务提交后,insert才能使用释放的空间

block中释放的空间可能不连续, oracle在下面两个条件满足时会愈合块中碎片

1) update/insert语句尝试使用这个块在存储 a new row piece,而这个块包含有足够的free space(算上连续空间与碎片空间)

2) 因为不连续,这个new row piece无法insert进来

这种做的原因是为了性能考虑, 只在需要时才压缩碎片

[@more@]
请使用浏览器的分享功能分享到微信等