在博客 分区表 中创建了分区表 PartitionedTable,现在创建该表的副表back_PartitionedTable,用于切换分区操作。
为了模拟环境,先多往表 PartitionedTable里面插入数据:
insert into PartitionedTable values(1,'2002-01-23')
insert into PartitionedTable values(1,'2002-03-20')
insert into PartitionedTable values(1,'2002-07-15')
insert into PartitionedTable values(2,'2004-06-01')
insert into PartitionedTable values(3,'2004-01-12')
insert into PartitionedTable values(2,'2005-08-01')
insert into PartitionedTable values(3,'2006-05-12')
insert into PartitionedTable values(4,'2007-02-01')
insert into PartitionedTable values(5,'2007-04-12')
insert into PartitionedTable values(4,'2007-09-01')
insert into PartitionedTable values(5,'2007-07-12')
查看分区表 PartitionedTable
查看分区表 back_PartitionedTable
现在把分区 1 的数据给删除掉(假设分区1有4百万条数据,而且表 PartitionedTable正在生产环境中频繁使用中),解决办法是什么了?
解决办法:
使用该表的副表back_PartitionedTable,用于切换分区操作。
-
alter table PartitionedTable switch partition 1 to back_PartitionedTable partition 1
然后再次查看分区表 PartitionedTable里面的数据:
发现分区1中的数据没有了。
同样的方法查看分区表 back_PartitionedTable:
发现被切换的分区1 中有了数据了。
再用 truncate语句把 表back_PartitionedTable里分区1 的数据删除掉(其实就是把整个副表的数据都删除掉):
-
truncate table back_PartitionedTable
再查看副表
back_PartitionedTable,如下图所示:
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/26435490/viewspace-1455060/
,如需转载,请注明出处,否则将追究法律责任。