Oracle12C列表分区Auto-List Partitioning

本文介绍了Oracle数据库的分区技术,包括分区的概念、限制、何时考虑分区以及其优点,重点讲解了12C版本的Auto-ListPartitioning特性。还提供了分区信息查询的方法。

1、定义
Oracle可以将大表或索引分成若干更小、更方便管理的部分,每一部分成为一个分区,这样的表称为分区表。在逻辑上,表仍然是一张完整的表,只是将表中的数据在物理上可能存放到多个表空间或物理文件上。在查询数据时,不至于每次都扫描整张表。

2、不能分区的情况
(1)簇表不能进行分区;
(2)不能分割含有LONG或LONG RAW列的表(LONG、LONG RAW存储大文件对象);
(3)索引组织表不能进行范围分区

3、何时考虑分区?
对大表进行分区,将有益于大表操作的性能和大表的数据的维护。官方文档通常当表的大小超过2GB,或对于OLTP系统,当表的记录超过1000万时,都应考虑对表进行分区。

4、分区优点
(1)增强可用性。如果表的一个分区由于系统故障而不能使用,那么表的其余好的分区仍然可以使用。
(2)减少关闭时间。如果系统故障只影响表的一部分分区,那么只有这部分分区需要修复,可能比整个大表修复花的时间更少。
(3)维护轻松。单独管理每个分区比管理单个大表要轻松得多。
(4)均衡I/O。可以把表的不同分区分配到不同的磁盘来平衡I/O,改善性能。
(5)改善性能。对大表的查询、增加、修改等操作可以分解到表的不同分区来并行执行,可以使运行的速度更快。
(6)分区对于用户透明,最终用户感觉不到分区的存在。

5、Oracle12C列表分区Auto-List Partitioning
在Oracle Database 12.2之前,如果使用列表分区,当插入的数据超过了分区列表值设定,则会抛出异常;而如果存在大量的列表值需要定义,则可能需要一一设置。
在12.2引入的新特性中-Auto-List Partitioning可以针对新的列表值,进行自动的分区创建,从而减少了维护的复杂性。
1 对于新创建的表,可直接创建为AUTO LIST 的分区表即可,需在建表脚本中添加如下建表子句:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值