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

简介: 1.RANGE分区表转化为INTERVAL分区表 如果有MAXVALUE分区,则先删除,然后再用SET INTERVAL设置为自动分区间隔ALTER TABLE trdfat_profit DROP PARTITION P_MAX;ALTER TABLE trdfat_profit SET INT...

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

目录
相关文章
|
SQL 关系型数据库 MySQL
使用索引消除group by 排序
ySQL数据库在使用group by查询时默认会进行排序,有时候我们并不需要这种排序,消除这种排序有两种方式,本文介绍其中一种,即使用索引消除排序,这种方式还有一个附加的好处,就是避免临时表的创建。
559 0
|
4月前
|
SQL 存储 传感器
Hive中的分区表和非分区表有什么区别?请解释其作用和使用场景。
Hive中的分区表和非分区表有什么区别?请解释其作用和使用场景。
56 0
|
6月前
Hologres的`dynamicPartition`参数是用来实现动态分区的
Hologres的`dynamicPartition`参数是用来实现动态分区的
47 0
|
6月前
|
SQL 关系型数据库 MySQL
sql处理重复的列,更好理清分组和分区
sql处理重复的列,更好理清分组和分区
51 0
|
SQL Go
【SQL】ROW_NUMBER() OVER(partition by 分组列 order by 排序列)用法详解+经典实例
【SQL】ROW_NUMBER() OVER(partition by 分组列 order by 排序列)用法详解+经典实例目录 0、填充数据1、使用row_number()函数对订单进行编号,按照订单时间倒序。
12436 0