oracle绝密培训 11.分区表(章节).docVIP

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第十一章:分区表 1 概述 2 范围分区 2 HASH分区(散列分区) 3 列表分区 3 复合分区 4 分区表操作 4 分区表的管理 5 第十一章: 学习目标 操作分区表 概述 在大型的企业应用或企业级的数据库应用中,要处理的数据量通常可以达到几十到几百GB,有的甚至可以到TB级。虽然存储介质和数据处理技术的发展也很快,但是仍然不能满足用户的需求,为了使用户的大量的数据在读写操作和查询中速度更快,Oracle提供了对表和索引进行分区的技术,以改善大型应用系统的性能 使用分区表有如下优点: 增强可用性:如果表的某个分区出现故障,表在其他分区的数据仍然可用; 维护方便:如果表的某个分区出现故障,需要修复数据,只修复该分区即可; 均衡I/O:可以把不同的分区映射到磁盘以平衡I/O,改善整个系统性能; 改善查询性能:对分区对象的查询可以仅搜索自己关心的分区,提高检索速度 分区的方法有如下几种: 范围分区 HASH分区(散列分区) 列表分区 复合分区(范围+HASH)(范围+列表) 下面我们创建表空间,以备课程练习使用: CREATE TABLESPACE TEST1 DATAFILE C:\TEMP\TEST1.DBF SIZE 10M CREATE TABLESPACE TEST2 DATAFILE C:\TEMP\TEST2.DBF SIZE 10M CREATE TABLESPACE TEST3 DATAFILE C:\TEMP\TEST3.DBF SIZE 10M 范围分区 范围分区就是对数据表中的某个值的范围进行分区,根据某个值的范围,决定将该数据存储在哪个分区上。如根据序号分区,根据业务记录的创建日期进行分区等。 如:物料交易表,表名:material_transactions,将来该表可能有千万条数据记录,要求使用分区表。 可以使用序号分区分到3个区上,每个区中预计存储三千万条数据,也可以使用日期分区,如每5年的数据存储在一个分区上。 我们下面创建这个表: Create table material_test (transaction_id number primary key, Item_id number(8) not null, Item_description varchar2(300), Transaction_date date not null) Partition by range(transaction_id) (partition part_01 values less than tablespace test1, partition part_02 values less than tablespace test2, partition part_03 values less than(maxvalue) tablespace test3) 当然我们也可以通过时间来进行分区,语法如下: Create table material_test1 (transaction_id number primary key, Item_id number(8) not null, Item_description varchar2(300), Transaction_date date not null) Partition by range(transaction_date) (partition part_01 values less than(to_date(2006-01-01,yyyy-mm-dd)) tablespace test1, partition part_02 values less than(to_date(2010-01-01,yyyy-mm-dd)) tablespace test2, partition part_03 values less than(maxvalue) tablespace test3) HASH分区(散列分区) 在列的取值不容易确定时可以采用此方法。 如按照身份证进行分区,就很难确定身份证分区范围。 HASH实际上是一种算法,当向表插入数据时,系统会自动根据当前分区列的值计算出HASH值之后确定应该将该行存放在哪个表空间。 创建散列分区表如下: Create table material_test2 (transaction_id number primary key, Item_id number(8) not null, Item_description varchar2(300), Transaction_date date not null) Partition by hash(transaction_

文档评论(0)

精华文档888 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档