在线回收高水位是10g新特性
先讲讲移动表空间
alter table t2 move tablespace users; 移动表空间
当表运行一段时间后,表中的部分数据会被删除,导致了高水位下有空的数据块,或者不满的数据块.数据库在处理全表扫描的时候总是读高水位下的所有数据块.降低了全表扫描的效率,我们将挪动表空间后,数据会紧密的码放,释放多余的空间,回收了高水位线.提高了全表扫描的性能,节约了存储空间。
移动表空间的动作比较大,尤其对于很大的一张表,将要花费很长一段时间.所以在10g提供了一个新特性--再线回收表的高水位.
在线回收高水位
>conn scott/tiger
>create table emp1 as select * from emp;
>alter table emp1 enable row movement; 启动行移动特性
>insert into emp1 select * from emp1;
/
/
/
/
/
>commit;增加到14000行
>delete emp1 where deptno=30; 删除将近一半的数据.
>analyze table emp1 compute statistics;
>select num_rows,blocks,empty_blocks,avg_space from tabs where table_name = 'EMP1';
查询高水位
>alter table emp1 shrink space compact; 将数据挪动到表的前端,但不回收高水位.
>alter table emp1 shrink space; 回收高水位.
>analyze table emp1 compute statistics;
>select num_rows,blocks,empty_blocks,avg_space from tabs where table_name = 'EMP1';
阅读(746) | 评论(0) | 转发(0) |