分而治之:从多列到自动Oracle 12.2 分区新特性抢先一览

何剑敏 Oracle ACS华南区售后团队,首席技术工程师

曾供职于中国联通信息计费部、卓望数码、IBM。现供职于Oracle ACS华南区售后团队,首席技术工程师。多年从事一线的数据库运维工作,有丰富项目经验、维护经验和调优经验,专注于数据库的整体运维。

编者:Oracle的分区技术一直是对数据分而治之的重要手段,在12.2中,更加由这一技术演化出Sharding的新特性,那么回归分区技术本身,我们来看看在这一版本中,又有哪些分区功能上的增强。

Oracle database 12.2 有不少分区加强的特性,主要的特性如下列表:

  • Multi-Column List Partitioning - 多列列表分区
  • Auto list Partitioning - 自动列表分区
  • Interval SubPartitioning - 间隔子分区
  • Online Partition Maintenance Operation
  • Online Table Conversion to Partition Table
  • Filtered Partitioning Maintenance Operation
  • Read Only Partitions

一下通过几个举例列举几个分区特性。

1. multi-column list partition - 多列列表分区

支持多列组合作为列表分区的分区键值,最多支持16个列

2. auto-list partition - 自动的列表分区

当列表项数据到来之时,分区相应自动创建

3. interval subpartition

这是Interval分区的进一步扩展,子分区支持自动间隔的创建。

4.online DDL for partition

很多DDL操作支持在线进行,比如在线将表修改为分区表:

注 1:统计信息会收集

注 2:从10046的trace看,似乎是临时创建了 SYS_JOURNAL_ ,SYS_RMTAB$$_H ,SYS_RMTAB$$_I 以及上面的索引,在进行捣鼓,另外还有一堆数据字典的更新。没有看到类似 dbms_redefinition 在线重定义的功能的介入,没有看到在线重定义时关于物化视图 create snaphot,和 MLOG$_XXX 这样的关键字。

5. Filtered Partition on Maintenance Operations

在 MOVE,SPLIT,MERGE partition 的时候,可以进行过滤,这极大简化了分区维护操作:

注1:where 条件后面的字段千万不能写错,不然数据全没了。如错写成 INCLUDING ROWS WHERE channel = ‘CHINA’,MOVE 之后则分区4的数据全没了。因为 including row 表示留下的数据,而 channel = ‘CHINA’ 这样的数据一条都没有,所以就清空了分区。

6. Read only partition

只读分区可以将特定分区设置为只读

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

原文发表时间:2016-05-19

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏PPV课数据科学社区

SQL and R

R平台及编程语言支持浩大的数据科学技术,他拥有几十年的的历史和超过7000个包,这挂在CRAN的包纷杂的让你无法决定从哪里入手。R-Basics和Visua...

31210
来自专栏玩转JavaEE

vhr部门管理数据库设计与编程

项目地址:https://github.com/lenve/vhr 好了,那我们本文主要来看看数据库的设计与存储过程的编写。 部门数据库整体来说还是比较简单,如...

4096
来自专栏带你撸出一手好代码

sql连接查询中on筛选与where筛选的区别

sql查询这个东西, 要说它简单, 可以很简单, 通常情况下只需使用增删查改配合编程语言的逻辑表达能力,就能实现所有功能。 但是增删查改并不能代表sql语句的所...

3398
来自专栏杨建荣的学习笔记

物化视图中的统计信息导致的查询问题分析和修复 (r7笔记第47天)

今天开发的同事下午反馈给我一个问题,说有操作直接卡住了,听这个描述,感觉很可能是查询慢了。 于是连接到环境中,查看了一下正在执行的sql语句情况,发现下面的语句...

3395
来自专栏Albert陈凯

Hbase二级索引

二级索引与索引Join是多数业务系统要求存储引擎提供的基本特性,RDBMS早已支持,NOSQL阵营也在摸索着符合自身特点的最佳解决方案。这篇文章会以Hbase做...

4534
来自专栏杨建荣的学习笔记

通过Snapshot Standby来精确评估SQL性能 (r9笔记第73天)

最近处理了一个需求,比较紧急,映射到数据库层面是需要更新17万id的值,听起来是不少,根据数据架构进行了分析,发现目前是做了分库分表的方式,所以这17万的id在...

3103
来自专栏hadoop学习笔记

Spring Boot中对自然语言处理工具包hanlp的调用详解

HanLP 是基于 Java开发的 NLP工具包,由一系列模型与算法组成,目标是普及自然语言处理在生产环境中的应用。而且 HanLP具备功能完善、性能高效、架构...

320
来自专栏数据和云

SQL查询提速秘诀,避免锁死数据库的数据库代码

由于数据库领域仍相对不成熟,每个平台上的 SQL 开发人员都在苦苦挣扎,一次又一次犯同样的错误。当然,数据库厂商在取得一些进展,并继续在竭力处理较重大的问题。

1393
来自专栏杨建荣的学习笔记

复杂SQL性能优化的剖析(二)(r11笔记第37天)

昨天的一篇文章复杂SQL性能优化的剖析(一)(r11笔记第36天) 分析了一个SQL语句导致的性能问题,问题也算暂时告一段落,因为这个语句的执行频率是1...

3589
来自专栏性能与架构

这个场景更适合使用NoSQL

NoSQL的一个主要类型就是文档型NoSQL,例如 MongoDB,使用 json 结构存储数据,不需要事先定义好记录结构,自由添加删除记录中的某项,非常灵活 ...

3974

扫码关注云+社区