表数据量比较大,而且插入删除频率也很高,这就导致水位越来越高,表速度越来越慢...
请教有何好方法解决

解决方案 »

  1.   


    如果是10g可以这样清除高水位.
    alter table tab_name enable row movement;
    alter table tab_name shrink space;
      

  2.   


    不错alter table move;
    也可以
      

  3.   

    alter table  table_name move tablespace tablespace_name;
    然后将Table_name这个表上的索引都重新建立下;
    高水位就下去了;
      

  4.   

    网上搜到的,copy下来LZ看看
    1.执行表重建指令 alter table table_name move; 
    (在线转移表空间ALTER TABLE  MOVE TABLESPACE  
     ALTER TABLE  MOVE 后面不跟参数也行,
     不跟参数表还是在原来的表空间,move后记住重建索引
     如果以后还要继续向这个表增加数据,没有必要move,
     只是释放出来的空间,只能这个表用,其他的表或者segment无法使用该空间
     )2.执行alter table table_name shrink space; 注意,此命令为Oracle 10g新增功能,再执行该指令之前必须允许行移动 alter table table_name enable row movement; 
    3.复制要保留的数据到临时表t,drop原表,然后rename临时表t为原表 
    4.emp/imp
    5.alter   table  table_name  deallocate   unused   
    6.尽量truncate 吧