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. 写个js获取2019博客之星投票活动的名次与投票数

    获取投票数 // app.jsvar request = require('request');var cheerio = require('cheerio');request('http://m23 ...

  2. SAP IDOC

    物料主数据 供应商主数据 价格档案 采购订单 采购计划协议 srm发货单 物料凭证 发票校验 发票校验过账或删除信息返回 CALL FUNCTION 'BAPI_INCOMINGINVOICE_PAR ...

  3. Spring框架系列(9) - Spring AOP实现原理详解之AOP切面的实现

    前文,我们分析了Spring IOC的初始化过程和Bean的生命周期等,而Spring AOP也是基于IOC的Bean加载来实现的.本文主要介绍Spring AOP原理解析的切面实现过程(将切面类的所 ...

  4. 交替方向乘子法(Alternating Direction Multiplier Method,ADMM)

    交替方向乘子法(Alternating Direction Multiplier Method,ADMM)是一种求解具有可分结构的凸优化问题的重要方法,其最早由Gabay和Mercier于1967年提 ...

  5. 2022宁波市第五届网络安全大赛MISC方向部分wp

    BlackAndWhite 1. 得到了三百多张黑白颜色的图片,将白色图片转为数字0,黑色图片转为数字1,得到二进制字符串 01100110011011000110000101100111011110 ...

  6. 打印三角形及debug用法

    package www.nihao; public class demo01 { public static void main(String[] args) { //打印三角形 5行 for(int ...

  7. C++对象的应用

    本篇文章将介绍对象数组,对象的动态分配以及对象在函数中的应用. 一.对象数组 1.对象数组的定义和初始化 定义对象数组与定义普通数组的语法形式基本相同.如定义一个Square obj[3]:表示一个正 ...

  8. filebeat + logstash 日志采集链路配置

    1. 概述 一个完整的采集链路的流程如下: 所以要进行采集链路的部署需要以下几个步聚: nginx的配置 filebeat部署 logstash部署 kafka部署 kudu部署 下面将详细说明各个部 ...

  9. 年中盘点 | 2022年,PaaS 再升级

    作者丨刘世民(Sammy Liu)全文共7741个字,预计阅读需要15分钟 过去十五年,是云计算从无到有突飞猛进的十五年.PaaS作为云计算的重要组成部分,在伴随着云计算高速发展的同时,在云计算产业链 ...

  10. Arraylist集合的概述和基本使用与常用方法

    什么是ArrayList类 java.util.ArrayList 是大小可变的数组实现的,存储在内的数据称为元素,此类提供一些方法来操作内部存储的元素.ArrayList中可不断添加元素,其大小也自 ...