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
--hwm : 会将HWM重新设置到第一个Block的位置(hwm会改变).
Truncate table B reuse storage ;
--data : 数据部分所在的extent 空间不会被回收(仅仅数据会被删除),数据删除之后的freespace 空间只能供本表使用,不可以供其它 segment 使用 。
--index : B表的index部分会数据删除,但是保留extent 部分
--hwm : 会将HWM重新设置到第一个Block的位置(hwm会改变).
1、测试开始,建两张表A,B及相应的索引inx_A,idx_B
SQL> show user
USER is "QIUYB"
SQL> create table A (col number);
Table created.
SQL> insert into A values(1);
1 row created.
SQL> insert into A select * from A;
1 row created.
SQL> /
2 rows created.
SQL> /
4 rows created.
SQL> /
8 rows created.
SQL> /
16 rows created.
SQL> /
32 rows created.
SQL> /
64 rows created.
SQL> /
128 rows created.
SQL> /
256 rows created.
SQL> /
512 rows created.
SQL> /
1024 rows created.
SQL> /
2048 rows created.
SQL> /
4096 rows created.
SQL> /
8192 rows created.
SQL> /
16384 rows created.
SQL> /
32768 rows created.
SQL> /
65536 rows created.
SQL> commit;
Commit complete.
SQL> create table B as select * from A;
Table created.
SQL> create index idx_A on A(col);
Index created.
SQL> create index idx_B on B(col);
Index created.