在博客
分区表
中创建了分区表
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 ,用于切换分区操作 。
然后再次查看分区表 PartitionedTable里面的数据:
发现分区1中的数据没有了。
同样的方法查看分区表 back_PartitionedTable:
发现被切换的分区1 中有了数据了。
再用 truncate语句把 表back_PartitionedTable里分区1 的数据删除掉(其实就是把整个副表的数据都删除掉):
再查看副表 back_PartitionedTable,如下图所示:
![](http://img.blog.itpub.net/blog/attachment/201503/10/26435490_14259766363cB0.png?x-oss-process=style/bb)
为了模拟环境,先多往表 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
![](http://img.blog.itpub.net/blog/attachment/201503/10/26435490_1425976988l4Rt.png?x-oss-process=style/bb)
查看分区表 back_ PartitionedTable
现在把分区 1 的数据给删除掉(假设分区1有4百万条数据,而且表 PartitionedTable正在生产环境中频繁使用中 ),解决办法是什么了?
解决办法:
使用 该表的副表back_PartitionedTable ,用于切换分区操作 。
- alter table PartitionedTable switch partition 1 to back_PartitionedTable partition 1
然后再次查看分区表 PartitionedTable里面的数据:
![](http://img.blog.itpub.net/blog/attachment/201503/10/26435490_1425977989YlLg.png?x-oss-process=style/bb)
发现分区1中的数据没有了。
同样的方法查看分区表 back_PartitionedTable:
![](http://img.blog.itpub.net/blog/attachment/201503/10/26435490_1425978133WPd8.png?x-oss-process=style/bb)
发现被切换的分区1 中有了数据了。
再用 truncate语句把 表back_PartitionedTable里分区1 的数据删除掉(其实就是把整个副表的数据都删除掉):
- truncate table back_PartitionedTable
再查看副表 back_PartitionedTable,如下图所示:
![](http://img.blog.itpub.net/blog/attachment/201503/10/26435490_1425978814lgPN.png?x-oss-process=style/bb)
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26435490/viewspace-1455060/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/26435490/viewspace-1455060/