- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《深度挖掘OracleRAC數据库架构分析与实战攻略》第8章RAC性能优化设计
第章
8.1 分区技术
8.1.1 关于分区介绍
Oracle的分区是一种处理超大型表、索引等的技术。分区是一种分而治之的,通过将大表和索引分成可以管理的小块,从而避免了对每个表作为一个大的、单独的对象进行管理,为大量数据提供了可伸缩的性能。分区通过将操作分配给更小的存储单元,减少了需要进行管理操作的时间,并通过增强的并行处理提高了性能,通过屏蔽故障数据的分区,还增加了可用性。分区表首先是在Oracle 8i中引入的,Oracle是第一个支持物理分区的RDBMS厂商,SQL Server(2000)和DB2都只提供了逻辑分区(使用UNION ALL视图),SQL Server 2005还不能直接支持物理分区(通过分区函数实现的),Oracle中的分区选项因其对性能的改善明显、可管理性、应用程序可用性以及DSS应用程序被用户广泛接受,得到增强。表列出了每个版本中包括的分区特性Oracle数据库版本 分区特性 优点增强可用性:如果表的某个分区出现故障,表在其他分区的数据仍然可用维护方便:如果表的某个分区出现故障,需要修复数据,只修复该分区即可均衡I/O:可以把不同的分区映射到磁盘以平衡I/O,改善整个系统性能改善查询性能:对分区对象的查询可以仅搜索自己关心的分区,提高检索速度。 缺点分区表相关已经存在的表没有方法直接转化为分区表不过 Oracle 提供了在线重定义表的功能。分区表在10g中仅支持种复合分区:Range-List和Range-Hash。到11g中,Oracle的分区策略更加灵活了。首先,11g支持更多方式的组合分区,除10g支持的两种之外,还支持Range-Range、List-Range、List-List、List-Hash的组合分区策略。create table Partition_Range
(
PID number not null,
PITEM varchar2(200),
PDATA date not null
)
partition by range(PID)
(
partition part_01 values less than(50000) tablespace PARTION_01,
partition part_02 values less than(100000) tablespace PARTioN_02,
partition part_03 values less than(maxvalue) tablespace PARTioN_03
)
create table Partition_Rangedate
(
PID number not null,
PITEM varchar2(200),
PDATA date not null
)
partition by range(PDATA)
(
partition part_t01 values less than(to_date(2004-01-01,yyyy-mm-dd)) tablespace PARTioN_01,
partition part_t02 values less than(to_date(2008-01-01,yyyy-mm-dd)) ta- blespace PARTioN_02,
partition part_t03 values less than(maxvalue) tablespace PARTioN_03
)
8.1.2.2 Hash分区(散列分区)
散列分区是通过指定分区编号来均匀分布数据的一种分区类型,因为通过在I/O设备上进行散列分区,所以使得这些分区大小一致。
create table Partition_HashTest
(
PID number not null,
PITEM varchar2(200),
PDATA date not null
)
partition by hash(PID)
(
partition part_h01 tablespace PARTION_01,
partition part_h02 tablespace PARTION_02,
partition part_h03 tablespace PARTION_03
)
8.1.2.3 List分区(列表分区)
当需要明确地控制如何将行映射到分区时,就使用列表分区方法。与范围分区和散列分区所不同,列表分区不支持多列分区。如果要将表按列分区,那么分区键就只能由表的一个单独的列组成,然而,如果可以用范围分区或散列分区方法进行分区所有的列,那么都可以用列表分区方法进行分区。
create table test_tbl
文档评论(0)