oracle分区表和分区索引概述
㈠ 分区表技术概述
⑴ Range 分区
① 例子
create table t
(...列定义...)
partition by range (week_num)
(partition p1 values less than (4)tablespace data0,
partition p2 values less than (5)tablespace data1,
....
);
② 适用场景
Range 分区一般比较适合按时间周期进行数据的存储
③ 优点
用户知道具体数据落在哪个分区
因此、通过分区可以有效实施各种大批量的数据管理操作
比如、删除指定时间段的历史数据管理、对指定分区进行备份恢复或导入导出
④ 缺点
● 分区的数据可能不均匀
● Range分区与记录值相关、实施难度和可维护性相对较差
⑵ List分区
① 例子
create table t
(...列定义...)
partition by list(city)
(partition p1 values ('北京') tablespace data0,
partition p2 values ('上海') tablespace data1,
....
);
Range 和 List 的区别在于、前者是连续、而后者是离散
因此、在优缺点及适用场景方面、大抵相去无几
这里不赘述了
⑶ HASH 分区
① 例子
create table t
(...列的定义..)
partition by hash (customer_no)
partition 8 store in
(data0,data1);
友情提醒哦:Oracle建议HASH分区数一般是2的幂
② 适用场景
HASH分区适合于静态数据
何谓静态数据?
指此类数据一般永远存储在数据库中、不需要进行历史数据迁移
例如:用户资料表、账户信息等
而这类信息的访问大部分通过用户ID或者账号进行
如果按这些字段进行HASH分区、并建立本地前缀分区索引、访问效率相当高哦
③ 优点
● 数据均匀分布
● 实施非常简单
④ 缺点
用户不知道某条记录具体会落在哪个分区
因此、HASH分区不适合大批量数据管理操作
例如、历史数据清理、大批量数据导入导出等
⑷ 组合分区
Oracle组合分区某种程度上讲是一种把优点集中的表现
例如、大多数情况下、第一维按时间字段进行分区、
这样在分区级适合于进行大批量数据管理操作
第二维的HASH或List可进一步提高访问性能或者降低实施难度
11g之前只有:Range-HASH 或 Range-List
㈡ 分区索引技术概述
生产环境中、有时我们会遇到:
已经做了分区表了、怎么性能没有提高啊?甚至更慢啊?
其原因之一或者是没有合理甚至根本没有设计分区索引
先总体认识一下表和索引在分区上的关系:

⑴ 本地前缀分区索引
假设分区表为一个交易流水表t、且按交易日期date进行Range分区
如果欲创建date字段上的索引、我们可以:
create index idx_t on t (date) local;
idx_t 就叫做本地前缀索引
所谓本地、指索引的分区方法与对应表的分区方法一样
所谓前缀、指分区字段是索引字段的前缀
优势
● 提高查询性能
● 当某个分区进行drop 或 merge后、Oracle自动对所对应的索引分区进行相同的操作、
整个本地前缀分区索引依然有效、无须rebuild
这样大大保证了表的可用性
⑵ 本地非前缀分区索引
假设我们需要在t表的area字段建立分区索引、我们可以:
create index idx_t_area on t (area) local;
idx_t_area就叫做本地非前缀分区索引
非前缀要按照索引扫描所有的分区、性能可能更低
不过、它能够保证按索引访问的可用性
适用场景:
如果历史数据整理非常频繁、而且不能承受全局分区索引重建的长时间带来的索引不可用
同时、日常交易性能尚能接受、则建议设计为本地非前缀分区索引
⑶ 全局分区索引
假设我们需要在t表的area字段建立分区索引、我们可以:
create index idx_t_g_area on t(area)
global partition by range (area)
(partition p1 less than ...);
所谓全局、是指该索引的分区与表的分区无关
10g以后、Oracle提供2种全局分区索引:
● Global Range Partition Index
● Global HASH Partition Index
缺点:
主要体现在数据的高可用性方面
当DROP分区后、全局分区索引则全部INVALID、除非REBULID
但数据量越大、重建索引的时间越长
本文转自:http://blog.csdn.net/dba_waterbin/article/details/8836104
oracle分区表和分区索引概述的更多相关文章
- 深入学习Oracle分区表及分区索引
关于分区表和分区索引(About Partitioned Tables and Indexes)对于10gR2而言,基本上可以分成几类: • Range(范围)分区 • Has ...
- 【三思笔记】 全面学习Oracle分区表及分区索引
[三思笔记]全面学习Oracle分区表及分区索引 2008-04-15 关于分区表和分区索引(About PartitionedTables and Indexes) 对于 10gR2 而言,基本上可 ...
- oracle 分区表和分区索引
很复杂的样子,自己都没有看完,以备后用 http://hi.baidu.com/jsshm/item/cbfed8491d3863ee1e19bc3e ORACLE分区表.分区索引ORACLE对于分区 ...
- ORACLE分区表、分区索引详解
详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt160 ORACLE分区表.分区索引ORACLE对于分区表方式其实就是将表分段 ...
- 转:深入学习Oracle分区表及分区索引
转自:http://database.ctocio.com.cn/tips/286/8104286.shtml 关于分区表和分区索引(About Partitioned Tables and Inde ...
- 简单ORACLE分区表、分区索引
前一段听说CSDN.COM里面很多好东西,同事建议看看合适自己也可以写一写,呵呵,今天第一次开通博客,随便写点东西,就以第一印象分区表简单写第一个吧. ORACLE对于分区表方式其实就是将表分段存储, ...
- Oracle 分区表中本地索引和全局索引的适用场景
背景 分区表创建好了之后,如果需要最大化分区表的性能就需要结合索引的使用,分区表有两种索引:本地索引和全局索引.既然存在着两种的索引类型,相信存在即合理.既然存在就会有存在的原因,也就是在特定的场景中 ...
- Oracle分区表删除分区引发错误ORA-01502: 索引或这类索引的分区处于不可用状态
(一)问题: 最近在做Oracle数据清理,在对分区表进行数据清理时,采用的方法是drop partition,删除的过程中,没有遇到任何问题,大概过了10分钟,开发人员反馈部分分区表上的业务失败.具 ...
- Oracle 分区表-Range分区
原文:http://www.tuicool.com/articles/MzeM7r 一.什么是分区表 Oracle提供了分区技术以支持VLDB(Very Large DataBase).分区表通过对分 ...
随机推荐
- Python_Tips[5] -> 可变数据类型作为初始化形参
可变数据类型作为初始化形参 / Mutable Parameter as Init Formal-para 由于在Python中,没有类似C语言的static静态参数,因此当一个函数需要一个只初始化一 ...
- MyBatis笔记:invalid bound statement (not found)
maven项目在本地运行的时候没有问题,一旦把war包部署到测试机上就不能运行.查看了一下tomcat日志发现抛出这样的错误:invalid bound statement (not found),后 ...
- 洛谷——P1067 多项式输出
P1067 多项式输出 题目描述 一元 n 次多项式可用如下的表达式表示: 其中,aixi称为 i 次项,ai 称为 i 次项的系数.给出一个一元多项式各项的次数和系数,请按照如下规定的格式要求输出该 ...
- hiho一下第129周 后缀自动机二·重复旋律6
后缀自动机三·重复旋律6 时间限制:15000ms 单点时限:3000ms 内存限制:512MB 描述 小Hi平时的一大兴趣爱好就是演奏钢琴.我们知道一个音乐旋律被表示为一段数构成的数列. 现在小Hi ...
- AtCoder - 4130 K-th Substring
Problem Statement You are given a string s. Among the different substrings of s, print the K-th lexi ...
- linux 自动删除n天前文件
现在系统每天生成一个日期文件夹,并压缩上传到ftp服务器,造成目录下文件太多,所以决定写个定时删除文件的任务 写脚本文件 find /home/data -mtime +90 -name " ...
- Apache2 httpd.conf 配置详解
Apache2 httpd.conf 配置详解 <第一部分> 常用配置指令说明 1. ServerRoot:服务器的基础目录,一般来说它将包含conf/和logs/子目录,其它配置文件的相 ...
- IIS7.5 部署WCF项目问题集锦
HTTP 错误 500.19 - Internal Server Error 描述:配置错误: 不能在此路径中使用此配置节.如果在父级别上锁定了该节,便会出现这种情况.锁定是默认设置的 (overri ...
- 分布式数据库以及OS
http://blog.csdn.net/longronglin/article/category/230501
- 使用Python3解压gz、tar、tgz、zip、rar五种格式的压缩文件例子
使用Python3解压如下五种压缩文件:gz.tar.tgz.zip.rar 简介 gz: 即gzip,通常只能压缩一个文件.与tar结合起来就可以实现先打包,再压缩. tar: linux系统下的打 ...