分区 分区表 分区索引 学习笔记
来源:互联网 发布:有什么网络手游好玩 编辑:程序博客网 时间:2024/06/06 20:21
分区的过程是将一个表或索引物理地分解为多个更小,更可管理的部分。而就访问数据库的应用而言,逻辑上讲只有一个分区或一个索引。每个分区是一个独立的对象,可以独自处理,也可以作为一个更大对象的一部分进行处理。
使用分区不一定就能提高性能,也可能更慢,可能不变。须了解里面的机制,具体问题具体处理。
分区表
使用分区表的好处:
1.提高数据可用性;
2.减少管理负担,对比一个大对象,如在多个小对象上执行同样的操作会更快,如重建索引等;
3.改善语句性能,特别对于OLAP(数据仓库或决策支持)系统,而对于OLTP须慎用。
4.可以把修改分布到多个单独的分区上,从而减少大容量OLTP系统上的竞争。
对表分区的方法:
1.区间(例如按日期)
2.散列(通过散列函数,随机地(均匀地)分布在多个分区上,分区最好是2的幂。
3.列表(根据离散的值列表指定位于哪个分区)
4.间隔(以一个区间分区为起点,增加一个间隔,新进来的数据使数据库自动增加分区)
5.引用(父/子对等分区,子表继承父表分区机制,截除相应的子表分区时,也能删除或截除父表分区)
6.组合(如先区间,再散列)
行移动:
用于确定分区的列上的记录修改。
如果修改了,行仍属于原来的分区,那没事。
如果修改了,行会跨分区移动,则只有当表启用行移动才支持,否则会报错。
alter table range_example
enable row movement;
分区索引
局部索引(locally index)
每个表分区都有一个索引分区,而且只索引该表分区。一个给定索引分区中的所有条目都指向一个表分区,表分区中的所有行都表示在一个索引分区中。
局部前缀索引:分区键在索引定义的前几列
局部非前缀索引:不是前几列,索引可能包含分区间,也可能不包含。
两者分别:个人认为前者更好,因为可以保证查询包含的谓词容许索引分区消除(即首先就排除了不相干的索引分区),后者未必能。当然,如果索引作为查询计划的第一步,则两者没有多少差别)。
全局分区索引(globally partitioned index)
一个索引分区可能指向任何表分区,索引分区数可能不同于表分区数。
两者分别,数据仓库多数用局部索引,OLTP则全局索引更常见。
- 分区 分区表 分区索引 学习笔记
- 深入学习Oracle分区表及分区索引
- 深入学习Oracle分区表及分区索引
- 深入学习Oracle分区表及分区索引
- 深入学习Oracle分区表及分区索引
- 学习ORACLE分区表-分区索引心得
- 深入学习Oracle分区表及分区索引
- 深入学习Oracle分区表及分区索引
- 深入学习Oracle分区表及分区索引
- 深入学习Oracle分区表及分区索引
- 深入学习Oracle分区表及分区索引
- 深入学习Oracle分区表及分区索引
- 分区表和分区索引
- 分区表和分区索引
- ORACLE分区表、分区索引
- ORACLE分区表、分区索引
- 分区表和分区索引
- 分区表/分区索引
- 如何写不同的文档方案
- ACM哈夫曼树建立、哈夫曼编码C++实现
- pageContext对象的用法
- 1017 A Mathematical Curiosity
- svn常见问题
- 分区 分区表 分区索引 学习笔记
- SharePoint2010 文档库文件 直接打开
- javascript通过位运算完成两个数的交换
- Ubuntu设置为root用户自动登录
- 使用HTML5 Canvas实现的玫瑰线
- J2EE 连接器架构(J2EE Connector Architecture, JCA)简介(二)
- 阿达马变换的简单介绍
- 年底的大促销开始了啊
- java匹配IP地址正则表达式