KingbaseES从V008R006C005B0041版本开始支持Oracle的Interval分区表功能。

Interval分区表是一种特殊的范围分区表。当执行INSERT或者UPDATE时,若数据超过所有现有范围分区时由数据库根据定义的间隔参数自动创建新的分区。

Interval分区只能指定一个分区键列,并且数据类型必须为NUMBER或者DATE类型。

语法

CREATE TABLE table_name
(
...
)
PARTITION BY RANGE(column1)
INTERVAL expr [STORE IN (tablespace1,[tablespace2,...])]
(
PARTITION partition_name1 VALUES LESS THAN(literal | MAXVALUE) [TABLESPACE tablespace1]
);

例子

时间类型分区
CREATE TABLE interval_date
(
employee_id NUMBER,
employee_name VARCHAR2(20),
birthday DATE
)
PARTITION BY RANGE(birthday)
INTERVAL ('1 month'::interval)
(
PARTITION partition202201 VALUES LESS THAN(to_date('2022-02-01:00:00:00','yyyy-mm-dd hh24:mi:ss'))
); 数字类型分区
CREATE TABLE interval_t2
(
employee_id NUMBER,
employee_name VARCHAR2(20),
birthday DATE
)
PARTITION BY RANGE(employee_id)
INTERVAL (10)
(
PARTITION partition10 VALUES LESS THAN(10)
);

验证分区是否能自动扩展

查看表结构:
test=# \d+ interval_date
分区表 "public.interval_date"
栏位 | 类型 | 校对规则 | 可空的 | 预设 | 存储 | 统计目标 | 描述
---------------+----------------------------+----------+--------+------+----------+----------+------
employee_id | numeric | | | | main | |
employee_name | character varying(20 char) | | | | extended | |
birthday | date | | | | plain | |
分区键值: RANGE (birthday)
Range interval: INTERVAL ('1 mon'::interval)
分区: interval_date_partition202201 FOR VALUES FROM (MINVALUE) TO ('2022-02-01 00:00:00') 插入一条不在分区区间的数据 test=# insert into interval_date values (2,'bill',to_date('2022-02-03:00:00:00','yyyy-mm-dd hh24:mi:ss'));
INSERT 0 1
test=# \d+ interval_date
分区表 "public.interval_date"
栏位 | 类型 | 校对规则 | 可空的 | 预设 | 存储 | 统计目标 | 描述
---------------+----------------------------+----------+--------+------+----------+----------+------
employee_id | numeric | | | | main | |
employee_name | character varying(20 char) | | | | extended | |
birthday | date | | | | plain | |
分区键值: RANGE (birthday)
Range interval: INTERVAL ('1 mon'::interval)
分区: interval_date_p1 FOR VALUES FROM ('2022-02-01 00:00:00') TO ('2022-03-01 00:00:00'),
interval_date_partition202201 FOR VALUES FROM (MINVALUE) TO ('2022-02-01 00:00:00') 可以看到数据库已自动扩展了2月份的分区interval_date_p1

KingbaseES interval 分区表介绍的更多相关文章

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

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

  2. python强大的区间处理库interval用法介绍

    原文发表在我的博客主页,转载请注明出处 前言 这个库是在阅读别人的源码的时候看到的,觉得十分好用,然而在网上找到的相关资料甚少,所以阅读了源码来做一个简单的用法总结.在网络的路由表中,经常会通过掩码来 ...

  3. KingbaseES 全文检索功能介绍

    KingbaseES 内置的缺省的分词解析器采用空格分词,因为中文的词语之间没有空格分割,所以这种方法并不适用于中文.要支持中文的全文检索需要额外的中文分词插件:zhparser and sys_ji ...

  4. KingbaseES DBLink 扩展介绍

    DBLink 扩展插件功能与 Kingbase_FDW 类似,用于远程访问KingbaseES 数据库.相比于Kingbase_FDW,DBLink 功能更强大,可以执行DML,还可以通过 begin ...

  5. KingbaseES 中 JSON 介绍

    KingbaseES支持JSON和JSONB.这两种类型在使用上几乎完全一致,主要区别是 JSON类型把输入的数据原封不动的存放到数据库中.JSONB类型在存放时把JSON解析成二进制格式. JSON ...

  6. KingbaseES ksqlrc文件介绍

    ksqlrc文件作用 ksql在连接到数据库后但在接收正常的命令之前,会尝试读取并执行该文件中的命令,如果加上-X参数,则跳过该文件. 系统级的启动文件是ksqlrc,文件在安装好的KingbaseE ...

  7. Oracle 12C 新特性之非分区表转分区表online clause(不停业务+索引有效)

    12c以前非分区表需要转换为分区, 如果不停业务的话可以使用在线重定义,只有在表进行切换的时候会有短暂的锁表. 12c 中alter table online clause 实现了表上现有的索引有效, ...

  8. oracle interval-partition 解决range分区大难题

    博客<oracle分区>中讲了oracle的几种分区,并且对于oracle的典型分区如Range分区和List分区给了示例. 在实际运用Range分区时,遇到了这样的难题: createt ...

  9. 【OCP、OCM、高可用等】小麦苗课堂网络班招生简章(从入门到专家)--课程大纲

    [OCP.OCM.高可用等]小麦苗课堂网络班招生简章(从入门到专家)--课程大纲 小麦苗信息 我的个人信息 网名:小麦苗 QQ:646634621 QQ群:618766405 我的博客:http:// ...

随机推荐

  1. SAP Tree editor(树形结构)

    SAP List Tree 效果 源代码 *&---------------------------------------------------------------------* *& ...

  2. SAP BDC 调用中 金额格式转换

    在BDC调用中,由于用户设置不同,导致金额.日期等字段的输入格式不正确.此处给出 自创 金额转换FM 并配有 调用方式. function zgm_conver_cuur. *"------ ...

  3. Spring框架系列(5) - 深入浅出SpringMVC请求流程和案例

    前文我们介绍了Spring框架和Spring框架中最为重要的两个技术点(IOC和AOP),那我们如何更好的构建上层的应用呢(比如web 应用),这便是SpringMVC:Spring MVC是Spri ...

  4. ansible管理windows主机

    1. 在windows开启winrm winrm service 默认都是未启用的状态,先查看状态:如无返回信息,则是没有启动: winrm enumerate winrm/config/listen ...

  5. 一条update语句到底加了多少锁?带你深入理解底层原理

    迎面走来了你的面试官,身穿格子衫,挺着啤酒肚,发际线严重后移的中年男子. 手拿泡着枸杞的保温杯,胳膊夹着MacBook,MacBook上还贴着公司标语:"我爱加班". 面试开始,直 ...

  6. 通过input的name属性取值

    HTML中 Script中 根据选中的值,res也就拿到相应的值.

  7. springboot的@ConditionalOnBean注解

      上篇文章中分析了springboot的自动注入的原理,可在文章后面的推荐阅读中温习哦.在自动注入的原理那篇文章中提到了@ConditionalOnXX注解,今天来看下springboot中的@Co ...

  8. halcon 基础总结(一)裁切图片并旋转图像

    ​ 第一步当然是读取图像了:read_image (Image, 'C:/Users/HJ/Desktop/test_image/b.jpg') ​ 第二步:二值化.二值化.因为我这里的物体是黑色的, ...

  9. k8s的部署

    一.k8s的二进制部署 1.环境准备: IP                               节点 172.16.10.1         k8s-master01 172.16.10.3 ...

  10. 03 uniapp自定义导航栏的开发

    在我眼里自定义导航分2类: 原生基础上 || 非原生基础上 总结:项目当中能原生就原生,提高性能 区别 uni-app 自带原生导航栏,在pages.json里配置. 原生导航的体验更好,渲染新页面时 ...