知识大全 深入浅出Oracle11g分区功能
Posted 知
篇首语:从来好事天生俭,自古瓜儿苦后甜。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 深入浅出Oracle11g分区功能相关的知识,希望对你有一定的参考价值。
深入浅出Oracle11g分区功能 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
数据库分区是每种数据库都需具备的关键功能之一 几乎所有的Oracle数据库都使用分区功能来提高查询的性能 Oracle g分区功能可以简化数据库的日常管理维护工作 大大减轻了DBA(数据库设计和管理工程师)的工作负担
Oracle g中提供的新功能增添了更多的数据库分区功能选择 使分区功能在使用和维护上变得更加灵活;同时 Oracle g也提供更多的分区功能选择
Oracle 版最早推出了表格的分区功能 使Oracle成为了第一个支持物理分区的RDBMS供应商 SQLServer( )和DB 都只支持逻辑分区(使用UNION ALL视图) 而SQL Server 并不直接支持物理分区(需通过分区功能) Oracle的分区功能选择很受用户群的欢迎 因为分区功能能够改善应用程序的性能 可管理性和可用性 其中最重要的是DSS应用程序 由于该功能受到广泛的喜爱 因此每次发布新版本都会有功能上的不断提高
下面的表格列举了随版本更新而不断提高的分区功能(高级)
分区功能类型
现在让我们简单的讨论一下以上每个分区功能的特性
范围分区 数据根据分区键值范围指定进行分布 比如 如果我们选择一个日期列作为分区键 分区 JAN 就会包括所有包含从 JAN 到 JAN 之间的分区键值(假设分区的范围是从这个月的第一天到这个月的最后一天)
散列分区 将散列算法用于分区键来确定指定行所在的分区 这个分区方法能够保持I/O平衡 但是不可用于范围查询或不等式查询
列表分区 数据根据分区键值列表指定进行分布 这个分区方法对于离散的列表非常有用 如地区 国家等
组合分区 结合 个数据分区方法可以成为一个组合分区方法 先用第一个数据分布方法对表格进行分区 然后再用第二个数据分区方法对每个分区进行二次分区 组合分区方法有以下组合
组合范围散列分区 组合范围列表分区 组合范围范围分区 组合列表范围分区 组合列表列表分区 组合列表散列分区
G支持对索引组织表(索引和数据一起的表格)进行范围分区 列表分区或散列分区 但是不支持对其进行组合分区
Interval分区 G版本引入的interval分区范围分区的一种增强功能 可实现equi sized范围分区的自动化 创建的分区作为元数据 只有最开始的分区是永久分区 随着数据的增加会分配更多的部分 并自动创建新的分区和本地索引
SQL>CREATETABLESALES_PART
(TIME_ID NUMBER REGION_ID NUMBER
ORDER_ID NUMBER
ORDER_DATE DATE
SALES_QTY NUMBER( )
SALES_AMOUNT NUMBER( )
)
PARTITIONBY RANGE (ORDER_DATE)
INTERVAL (NUMTOYMINTERVAL( month )
(PARTITION p_first VALUES LESS THAN ( JAN );
Numtoyminterval功能把数字转换成 INTERVAL YEAR TO MONTH文字( YEAR or MONTH )
进行Interval分区的表格有传统的范围部分和自动生成的interval部分 进行范围分区的表格可以通过使用ALTER TABLE命令的SETINTERVAL选项扩展成为Interval分区的表格
外键分区 分区方案的引入是以相关表格通过相同的分区策略获得好处作为前提设想的 Detail表格通过PK FK关系从master表格继承相同的分区方案 我们不需要把分区键存储在detail表格中 通过关键词 PARTITION BY REFERENCE detail表格获得master表格的分区方案
虚拟列分区 在之前的Oracle版本里 只有分区键存在与表格中才可以实现对表格的分区功能 而Oracle G的新功能 虚拟列 打破了这一限制 允许通过使用表格中的一列或多列的表述确定分区键 而虚拟列只作为元数据存储
例如 在表格ACCOUNTS中添加一个虚拟列
SQL>CREATE TABLE ACCOUNTS
(acc_no number( ) not null
acc_name varchar ( ) not null
acc_loc varchar ( )
acc_branch number( ) generated always as (to_number(substr(to_char(acc_no) )));
使用虚拟列作为分区键
SQL>CREATE TABLE accounts
(acc_no number( ) not null
acc_name varchar ( ) not null
acc_loc varchar ( )
acc_branch number( ) generated always as (to_number(substr(to_char(acc_no) )))
partition by list (acc_branch);
分区建议器
cha138/Article/program/Oracle/201311/18976相关参考
Oracle11G之初体验数据中心自动化等功能 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! O
Oracle分区功能提高应用程序性能 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Oracle
Oracle内存数据库11g和高速缓存11g上市 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!北京
Oracle11g默认目录结构 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Oracleg主流
Oracle11g安装图文攻略 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 呵呵花了一个多小时
oracle11G空表默认不导出解决 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! ORACLE
Oracle11g数据库移植 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 数据库版本频繁更新不
知识大全 Oracle11g新特性之AutoMemoryManagement
Oracle11g新特性之AutoMemoryManagement 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一
小议Oracle11g的自治事务(六) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 自治事务提
小议Oracle11g的自治事务(二) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 自治事务实