www.9647.net > orAClE中如何动态删除分区数据

orAClE中如何动态删除分区数据

可以用 ALTER TABLE DROP PARTITION 来删除分区,元数据和数据将被一并删除.全删除ALTER TABLE yourTable DROP PARTITION partionName1;清数据ALTER TABLE yourTable TRUNCATE PARTITION partionName1;语句虽简单、操作需谨慎.

删除分区及分区数据:alter table 表名 drop partition 分区名; 只删除分区数据,分区还在:delete from 表名 partition(分区名);

建立分区,将需要删除的数据存在特定分区里,删除该分区就可以了. alter table 表名 drop partition 分区名 ; 应该很快.

如果是全表删除可以用truncate;让然也可以把表结构复制出来,然后drop,在执行一次刚刚复制出来的ddl语句重建表就好了 如果是分区表,那么可以直接对分区进行truncate和drop操作

和索引有关系如果表是分区的话,索引也最好改成是分区索引.改成分区索引之后,数据的查询更新效率也会高点而且对于分区表,使用全局索引的话truncate分区最好加上updateglobalindexes不知道你加了没另外对于insert数据,可以先altertable.nologging;然后配合/*+append*/使用

alter table 表名 truncate partition 分区名; 只是清空分区数据,不删表,也不回滚,效率超高.

ALTER INDEX index DROP PARTITION partition

v_sql :='select * from emp partition(part_1)';EXECUTE IMMEDIATE V_SQL;

可以这样 create table tablename2 as select * from tablename;把你不要的那个字段去掉 然后rename 或者你这个表一直在更新数据,暂时不查询,可以 create table tablename2 as select * from tablename where 1=2; 先把表结构拷过来,然后rename table; 最后再导数据

delete不会降低表的最高水位线由于你是每月建立分区,建议使用truncate partition来完成删除数据 更快 更彻底

友情链接:ddgw.net | hbqpy.net | 9371.net | wnlt.net | clwn.net | 网站地图

All rights reserved Powered by www.9647.net

copyright ©right 2010-2021。
www.9647.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com