在现代的大型分布式信息系统中,数据量的规模已经达到了海量的规模。数据量的增大是数据库管理系统出现了新的问题:数据的可用性降低、DML操作效率降低、数据的管理和维护麻烦。在Oracle数据库管理系统中提出了一个分区的概念。
当一个数据表达到一定大的时候,即使是用索引来进行查询操作,也会相当的慢。为了提高大数据量表的DML操作的性能,可以将一个大表划分成几个部分,这就是分区的概念。可以对任意的表进行分区,但是如果表属于聚簇的一部分,这样的表不能进行分区。分区以后的表当然可以提高查询的速度,如果你查询的数据只是涉及到一个分区,那么DBMS不会尝试去查询别的分区。每一个分区都存储在不同的段,并且都有自己的存储设置。分区甚至是可以存储在不同的表空间里面,因为表空间是一斤是一个物理的存储单位,所以你可以把一张表的不同分区存储在不同的硬盘上面;这样对构建分布式的数据库相当的方便。试想有一个大型连锁supermarket,在全国1x个城市都有连锁店,,那么分布式的数据库系统可以根据地理位置将数据表进行分区。
对数据库表进行分区的一个基本的原则是:能够使对数据库表的DML操作只涉及到一个或这尽量少的分区。对表数据的分区办法一共有五种:范围分区、散列分区、列表分区、范围-散列混合分区、范围-列表混合分区。
范围分区是通过指定值得范围来对数据进行分区。例如:第一季度得销售数据放在第一个partition,这里我们用tablespace来作为一个partition单位。第二季度得销售数据放在第二个partition。在Oracle中可以用以下得语句创建:
create table pta(A data,B varchar2(20)) partition by range(A)
(patition p1 values less than (to_date('20040701','yyyymmdd')),
partition p2 values less than (to_date('20050101','yyyymmdd')))
散列分区对一列或几列应用散列函数,将数据平均分布到各个表分区中。利用这样的分区方式往往是你对分区的范围不确定的时候,而只是希望将数据平均的分布到不同的分区中。对应Oracle中的语句创建是:
create table ta(A date, B varchar2(20))
partition by hash(A)(patition p1, partition p2)
或者
create table ta(A date, B varchar2(20))
partition by hash(A) partitions 2 store in (p1, p2)
列表分区是通过建立一个不同的列表分区的键值,然后根绝这个键值来确定那些数据记录要放到指定键值对应的分区中。这样的分区方式适合于根据值来分区的应用。例如根据城市的名称。对应Oracle中的语句创建是:
create table ta(city_id number; city_ab varchar2(5)) partition by list (city_ab)
(partition beijing values('bg') tablespace ts1,
partition shanghao values('sh') tablespace ts2;
混合分区分方式为范围散列混合分区和范围列表混合分区方式,这两种混合方式并没有新的概念,而只是创建上的语法不同而以。
# posted by wallywong @ 2005-04-09 00:38 评论(0)
分享到:
相关推荐
MS SQL Server:分区表、分区索引 详解 1. 分区表简介 使用分区表的主要目的,是为了改善大型表以及具有各种访问模式的表的可伸缩性和可管理性。 大型表:数据量巨大的表。 访问模式:因目的不同,需访问的...
《JCR期刊影响因子及分区情况》是由中国科学院文献情报中心按年度和学科根据SCI期刊的影响因子对SCI期刊进行4个等级划分的分区表。 目前SCI核心库有3762种期刊,扩展库(网络版)有6089种期刊,SCI库的期刊质量和...
分区表的修复分区表的修复分区表的修复分区表的修复
项目中有需求要垂直分表,即按照时间区间将数据拆分到n个表中,PostgreSQL提供了分区表的功能。分区表实际上是把逻辑上的一个大表分割成物理上的几小块,提供了很多好处,比如: 1、查询性能大幅提升 2、删除历史...
主要介绍了oracle普通表转化为分区表的方法,官方给出了四种操作方法,本文主要对第四种方法进行详细分析,需要的朋友可以参考下。
一个大型表的分区表改造方案以及详细步骤。
CW M301Hv300分区表.rar
Oracle分区表详解 大家可以参考下 网上找的资料共享一下
BLOG_如何将一个普通表转换为分区表.pdfBLOG_如何将一个普通表转换为分区表.pdf
魔百和M301H_CW2的分区表信息,救砖需要用的下载后自己根据信息建分区表。
硬盘分区表详解 硬盘分区表详解 硬盘分区表详解 硬盘分区表详解
500G一件恢复分区表 、加871143185
深入浅出硬盘分区表深入浅出硬盘分区表深入浅出硬盘分区表
我自己做的一个表格,基于海思hi3516C板子,MTD分区表。对于一些不会怎么修改内核大小以及文件大小后,怎么调整MTD表很有帮助哦。
恢复分区表问题恢复分区表问题恢复分区表问题恢复分区表问题
oracle expdp impdp 分区表重映射导出导入 数据迁移方案,以SI01用户为例子,将用户分区表导出后,将分区表重映射到新的表空间,完成数据迁移和检查。照方案例子按步去做,一定能成功。
易我分区表医生 修复硬盘分区 V3.1.0绿色版 这个是可以注册的,上传备用, 我的电脑换了二手主板后总有问题,双硬盘只剩单硬盘了,经过检查是分区表被破坏,上网找了试了一些软件,认为这个简单易用,所以,上传...
《易我分区表医生》是一款修复硬盘分区的软件,当你的驱动器发生错误 (不是硬件错误)时这个工具能自动的检查并且修复你的MBR、分区表和分区 的引导扇区错误,能恢复IDE/ATA/SATA/SCSI接口的硬盘上 的 FAT16/FAT32/...
易我分区表医生--重建损毁的分区表,带注册文件
中科院JCR期刊分区(又称分区表、分区数据)是中国科学院文献情报中心世界科学前沿分析中心的科学研究成果。分区表设计的思路始于2000年之初,旨在纠正当时国内科研界对不同学科期刊影响因子数值差异的忽视。