分区表2

来源:这里教程网 时间:2026-03-02 10:37:23 作者:
   在博客 分区表 中创建了分区表 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,如下图所示:





相关推荐