INTERVAL分区升级了,你知道吗?!

辑手记:

Oracle 11g新增的INTERVAL分区使得手工给RANGE分区添加新分区的工作变得异常简单,这也使得INTERVAL分区成为RANGE分区的最佳选择。

新增的INTERVAL分区的特点:

特点一:

更方便的是,INTERVAL分区并非必须在表创建的时候指定,即使RANGE分区表已经建立,也可以修改为使其变为INTERVAL分区:

小贴士

这使得现有的所有RANGE分区表都可以利用INTERVAL分区的优点,而且INTERVAL方式分区也支持复合分区,INTERVAL-HASH、INTERVAL-LIST和INTERVAL-RANGE三种分区方式都是支持的。

注意:

由于INTERVAL的分区是根据需要自动创建,因此需要使用子分区模板来确定新增分区的子分区如何建立,如果没有建立子分区模板,则新增的分区只会包含一个子分区。

特点二:

INTERVAL分区的另一个特点就是不允许分区键值为空值:

小贴士

这个限制其实也很好理解,由于INTERVAL分区不存在MAXVALUE分区,因此NULL值“大于”所有的分区键值。

如果分区键值可能为空,那么INTERVAL分区就不适用,不过分区键值为空的情况本身就十分罕见。

其实顾名思义INTERVAL分区需要提供一个INTERVAL,而对于字符类型是不存在INTERVAL的,因此只有NUMBER类型和DATE类型支持INTERVAL分区。

其中NUMBER类型的INTERVAL分区很简单,因此这里仅描述相对复杂一点的DATE类型的INTERVAL分区。

对于INTERVAL值的限定,有两种方法。

01

通过NUMTOYMINTERVAL或NUMTODSINTERAL函数:

02

直接利用INTERVAL表达式:

无论使用哪种方法,其实都是INTERVAL的方式,这种方式和ADD_MONTHS函数不同,不会自动处理月末的问题,因此以月为单位的INTERVAL不能以超过28日的日期作为最后一个范围分区的上限:

避免这种错误其实很简单,最简单的是利用28日作为分区上限:

或者再建立一个最高分区,避免超过28日的日志作为最后一个分区的上限出现:

注意:

这里的DATE是泛指,包括DATE、TIMESTANP、TIMESTAMP WITH ZONE和TIMESTAMP WITH LOCAL ZONE多个日期相关的数据类型。

原文发布于微信公众号 - 数据和云(OraNews)

原文发表时间:2017-08-07

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏专注研发

推荐几种Java任务调度的实现

原文:http://www.ibm.com/developerworks/cn/java/j-lo-taskschedule/

772
来自专栏逸鹏说道

C# 温故而知新:Stream篇(四)下

上面的例子是将一个文件作为整体进行操作,这样会带来一个问题,当文件很大或者网络不是很稳定的时候会发生意想不到的错误 那我们该怎么解决...

3165
来自专栏Golang语言社区

Go Channel 详解

Channel是Go中的一个核心类型,你可以把它看成一个管道,通过它并发核心单元就可以发送或者接收数据进行通讯(communication)。

1282
来自专栏码匠的流水账

reactor-netty中TcpClient的newHandler过程

本文主要研究一下reactor-netty中TcpClient的newHandler过程

531
来自专栏码匠的流水账

聊聊storm的IWaitStrategy

storm-2.0.0/storm-client/src/jvm/org/apache/storm/policy/IWaitStrategy.java

895
来自专栏MasiMaro 的技术博文

数据更新接口与延迟更新

title: 数据更新接口与延迟更新 tags: [OLEDB, 数据库编程, VC++, 数据库] date: 2018-02-12 14:29:35 ...

912
来自专栏大史住在大前端

express中间件系统的基本实现

一直觉得express的中间件系统这种流式处理非常形象,就好像加工流水线一样,每个环节都在针对同一个产品的不同部分完成自己的工作,最后得到一个成品。今天就来实现...

1075
来自专栏ImportSource

Zipkin和微服务链路跟踪

本期分享的内容是有关zipkin和分布式跟踪的内容。 首先,我们还是通过spring initializr来新建三个项目。一个zipkin service。另外...

2.5K10
来自专栏大内老A

在Entity Framework中使用存储过程(一):实现存储过程的自动映射

之前给自己放了一个比较长的假期,在这期间基本上没怎么来园子逛。很多朋友的留言也没有一一回复,在这里先向大家道个歉。最近一段时间的工作任务是如何将ADO.NET ...

2745
来自专栏蓝天

UniqGenerator - 生成唯一ID技术方案

UniqGenerator提供一个简单、可靠、高效的、可支撑大容量和大并发的取绝对唯一ID(可以是数字型的,也可以是字符串型的)的通用机制,这里讲的“绝对”...

861

扫码关注云+社区