(原创)INTERVAL分区表与RANGE分区表相互转化

本文详细介绍了如何将SQL分区表从RANGE类型转换为INTERVAL类型,并探讨了INTERVAL分区表的主要特点,包括自动分区间隔设置、转换过程、特点及限制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.RANGE分区表转化为INTERVAL分区表

如果有MAXVALUE分区,则先删除,然后再用SET INTERVAL设置为自动分区间隔
ALTER TABLE trdfat_profit DROP PARTITION P_MAX;
ALTER TABLE trdfat_profit SET INTERVAL(1000000);
ALTER TABLE trdfat_profit SET INTERVAL (NUMTODSINTERVAL(1,'DAY')) --NUMTODSINTERVAL常用的单位有 ('day','hour','minute','second')
ALTER TABLE trdfat_profit SET INTERVAL (numtoyminterval(1,'month')); --numtoyminterval常用的单位有'year','month'

SELECT TABLE_NAME, PARTITIONING_TYPE, INTERVAL 
FROM dba_PART_TABLES
WHERE TABLE_NAME = 'TRDFAT_PROFIT';

2.INTERVAL分区表可以方便的转化为RANGE分区表
ALTER TABLE trdfat_profit SET Interval();
ALTER TABLE trdfat_profit ADD PARTITION p_max VALUES LESS THAN (MAXVALUE);

3.interval分区的特点
1.由range分区派生而来
2.以定长宽度创建分区(比如年、月、具体的数字(比如100、500等))
3.分区字段必须是number或date类型
4.必须至少指定一个range分区(永久分区)
5.当有记录插入时,系统根据需要自动创建新的分区和本地索引
6.已有的范围分区可被转换成间隔分区(通过ALTER TABLE SET INTERVAL选项完成)
7.Interval Partitioning不支持支持索引组织表
8.在Interval Partitioning表上不能创建domain index

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值