oracle分区表及表空间

浏览: 1597

一、概念

表空间:

是一个或多个数据文件的集合,所有的数据对象都存放在指定的表空间中,但主要存放的是表, 所以称作表空间。

分区表: 

当表中的数据量不断增大,查询数据的速度就会变慢,应用程序的性能就会下降,这时就应该考虑对表进行分区。表进行分区后,逻辑上表仍然是一张完整的表,只是将表中的数据在物理上存放到多个表空间(物理文件上),这样查询数据时,不至于每次都扫描整张表。

备注:分区表不一定要将表中的数据存放到多个表空间上,也可以是存放在同一个表空间,影响不会大,可能I/O会有点影响。具体没测试过。


二、分区表详解

什么时候使用分区表:

1、表的大小超过2GB。

2、表中包含历史数据,新的数据被增加都新的分区中。


表分区的优缺点

表分区有以下优点: 

1、改善查询性能:对分区对象的查询可以仅搜索自己关心的分区,提高检索速度。

2、增强可用性:如果表的某个分区出现故障,表在其他分区的数据仍然可用;

3、维护方便:如果表的某个分区出现故障,需要修复数据,只修复该分区即可;

4、均衡I/O:可以把不同的分区映射到磁盘以平衡I/O,改善整个系统性能。

缺点: 

分区表相关:已经存在的表没有方法可以直接转化为分区表。不过 Oracle 提供了在线重定义表的功能

三、分区表的几种类型

1、范围区分

范围分区将数据基于范围映射到每一个分区,这个范围是你在创建分区时指定的分区键决定的。这种分区方式是最为常用的,并且分区键经常采用日期。每一个分区都必须有一个VALUES LESS THEN子句,它指定了一个不包括在该分区中的上限值。


2、列表分区

该分区的特点是某列的值只有几个,基于这样的特点我们可以采用列表分区。

3、散列分区(还不太理解)

这类分区是在列值上使用散列算法,以确定将行放入哪个分区中。当列的值没有合适的条件时,建议使用散列分区。

散列分区为通过指定分区编号来均匀分布数据的一种分区类型,因为通过在I/O设备上进行散列分区,使得这些分区大小一致。


四、表空间自动扩展

1、表空间自动扩展是增加数据文件的大小,而不是增加数据文件的数量。

2、linux下数据文件大小最好不要超过10G,数据文件过大会出现故障。数据文件大小不超过2G比较好。

3、相对表空间自动扩展,手动增加数据文件这个方式更好。

推荐 1
本文由 592444087@qq.com 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册