trancate immediate reuse storage

http://blog.itpub.net/27042095/viewspace-768817/

drop storage是默认值,其与reuse storage的区别是是否回收清除表中rows的free space给tablespace,如果使用了drop storage,回收回来的frespace可以供其它segment使用,否则这部分空间只能表自己用。

另外一个区别是,用reuse storage可以减少对表及数据字典的锁定时间,特别是大表常这样做,余下和DEALLOCATE UNUSED 来逐步回收空间。

而对于hwm不论是用drop storage还是reuse storage都会回缩到第一个block。


总结一下 :


A, B 为两个Table .
A, B 的数据分别放在 erp_data  表空间下  
A, B 的索引分别放在 erp_indx  表空间下   

那么
我们使用下面的两个语句删除两个表中的数据
Truncate table A  drop    storage  ;  
Truncate table B  reuse  storage  ;   

得到的结果将是:

Truncate table A  drop    storage  ;  
--data :   数据部分所在的extent 空间会被释放(释放回收到 minextents
             个extent),腾出来的空间可以供其它segment 使用 。
--index :  B表的index部分会数据删除,但是保留extent 部分 (错误
更正,extent部分也被释放,剩下第一个extent)
--hwm :   会将HWM重新设置到第一个Block的位置(hwm会改变).


Truncate table B  reuse  storage  ;   
--data :   数据部分所在的extent 空间不会被回收(仅仅数据会被删
       除),数据删除之后的freespace 空间只能供本表使用,不可
       以供其它 segment 使用 。   
--index :  B表的index部分会数据删除,但是保留extent 部分
--hwm :   会将HWM重新设置到第一个Block的位置(hwm会改变).

posted @ 2020-09-15 16:26  悦风旗下  阅读(237)  评论(0编辑  收藏  举报