1.表的收缩

使用alter table tablename move;命令将需要收缩的表进行重新整理,整理之后原表的索引将失效,需要重新建立索引,使用这种方式,可以避免在查询的过程中,减少逻辑读,杜绝扫描表中所有的区(包括空白区),提高工作效率

2.表的瘦身

例如:在银行企业中,有HVPS的表空间,其下有N多表,在这些表中,会有存储用户名,密码的,也有记录交易记录的等等,以交易记录表为例,假设使用该表空间已经有一段时间了,hvps中存储了N多的数据,其中有一部分的数据为最近的,有另外一部分数据就是很久远的,但是考虑到在以后的工作中还要继续使用该表空间,显然很久远的数据是不需要的,但是也不能删除,这样就造成了资源浪费,现在我们进行下瘦身

create table old_data as select t1.id,t2.id from t1 hvps_info,t2 beps_info where id >= 100000;

delete table hvps_info where id >= 100000;

delete table beps_info where id >= 100000;

alter table hvps_info move;

alter table beps_info move;

最后在重新建立索引,这样就完成了表的瘦身

 

个人的理解,如果不对,请各位指正