ITPub博客

首页 > Linux操作系统 > Linux操作系统 > truncate table reuse storage

truncate table reuse storage

原创 Linux操作系统 作者:perfychi 时间:2013-08-19 17:50:35 0 删除 编辑
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会改变).

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/27042095/viewspace-768817/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2012-06-06

  • 博文量
    486
  • 访问量
    2682342