发布网友 发布时间:2022-04-22 05:38
共1个回答
热心网友 时间:2022-04-13 18:22
这个要看你的业务要不要备份保留这个分区的数据,如果不需要保留,可以直接truncate/drop分区的,如果要保留,可以用交换分区方法;
具体步骤:
1.不保留,直接删除:
alter
table
table_name
drop/truncate
partition
partition_name;
具体用drop还是truncate,得你自己衡量,drop的话原来的分区和数据直接就没有了,truncate的话,只是数据没有了,分区还在。
2.保留数据作为备份,交换分区
2.1创建一个表结构一样的表:
create
table
teable_bak
as
select
*
from
table_name
where
1=2;
--只要表结构,不要数据;
2.2分区交换
alter
table
table_name
exchange
partition
partition_name
with
table
table_bak;
这样执行后,分区partition_name的数据就会交换到table_bak中,table_bak的数据(刚刚建的空表)就会到分区里面去。