您当前位置:优侠库 > 资讯攻略 >
来源:未知
2021-08-17 11:28:23 浏览: 分类:资讯攻略

全面剖析Oracle数据库中的分区功能

Oracle分区可以提高许多应用程序的可管理性、性能和可用性。使用分区功能,可以将表、索引和索引组织表进一步细分为段,从而可以更准确地管理和访问这些数据库对象。Oracle提供了广泛的分区方案来满足各种业务需求。

此外,因为分区在SQL语句中是完全透明的,所以这个函数几乎可以应用于任何应用程序。

配分函数的优点

分区通过提高可管理性、性能和可用性给各种应用带来了巨大的好处。通常,分区可以大大提高某些查询和维护操作的性能。此外,分区可以大大简化常见的管理任务。通过分区,数据库设计人员和管理员可以解决一些前沿应用程序带来的问题。分区是构建千兆字节数据系统或超高可用性系统的关键工具。

配分函数的基础知识

分区函数可以进一步将表、索引或索引组织表细分为段。这些数据库对象的段称为分区。每个分区都有自己的名称,您也可以选择自己的存储特征。从数据库管理员的角度来看,一个分区对象有多个段,可以集中管理或单独管理。这为数据库管理员管理分区对象提供了相当大的灵活性。但是,从应用程序的角度来看,分区表和非分区表是完全一样的。用SQL DML命令访问分区表时,不需要做任何修改。

表的分区是通过“分区键”来实现的,分区键指的是一些确定一行所在分区的列。Oracle 10g为分区表提供了六种技术:

范围划分

每个分区由一系列分区键值指定(对于以日期列作为分区键值的表,“2005年1月”包含键值从“2005年1月1日”到“2005年1月31日”的分区)。

列表分区

每个分区由一个分区键值列表指定(对于以区域列作为分区键的表,“北美分区可能包含该值”)。加拿大" & quot美国”和“墨西哥”).

散列分区

使用分区键的哈希算法来确定指定行所在的分区。

组合范围散列分区

以及范围分区技术和散列分区技术的组合,通过该组合,首先对表进行范围分区,然后通过散列分区技术对每个单独的范围分区进行进一步细分。索引表只能进行范围分区。

组合范围列表分区

以及范围划分技术和列表划分技术的结合,通过它首先对表进行范围划分,然后使用列表划分技术进一步细分每个单独的范围划分。索引表可以按范围、列表或散列进行分区。

Oracle 10g还提供了三种分区索引:

本地索引

局部索引是一种分区模式与其基础表完全相同的索引。本地索引的每个分区只对应于其基础表的一个分区。

全局分区索引

全局分区索引是使用不同于其表的分区键进行分区的索引,该表可以是已分区表,也可以是未分区表。全局分区索引可以使用范围分区或哈希分区进行分区。例如,一个表可以按月进行范围分区,所以它有12个分区,而表上的索引可以按不同的分区键进行范围分区,所以它有不同的分区号。

全局非分区索引

全局非分区表索引与非分区表索引基本相同。该结构没有分区。

Oracle提供了一系列丰富的技术,可用于分区表、索引和索引组织表,因此可以针对任何业务环境中的任何应用程序进行优化分区。Oracle还提供了一整套用于管理分区表的SQL命令。包括添加新分区、删除分区、分割分区和合并分区的命令。

利用分区功能提高可管理性

使用Oracle partitioning,表和索引可以被分成更多和更小的可管理单元,这样数据库管理员就可以使用<分成几部分,把它们全部分开"的方式来管理数据。

通过分区,维护操作可以集中在表的特定部分。例如,数据库管理员只能备份表的一部分,而不是整个表。整个数据库对象的维护可以在每个分区的基础上进行,从而将维护工作分解为更容易管理的小部分。

分区函数提高可管理性的一个典型用途是支持& lsquo在数据仓库滚动窗口& rsquo加载流程。假设数据库管理员每周向表中加载新数据。您可以对表进行范围分区,使每个分区包含一周的数据。这个加载过程只是添加新的分区。添加一个分区比修改整个表要高效得多,因为DBA不需要修改任何其他分区。

使用分区函数提高性能

因为要检查或操作的数据量有限,并且支持并行任务执行,所以Oracle分区功能实现了性能提升。这些功能包括:

分区修整

分区调整是使用分区函数提高性能的最简单也是最有价值的方法。分区通常可以将查询性能提高几个数量级。例如,假设一个应用程序包含一个存储订单历史记录的Orders表,该表按周进行分区。要查询一周的订单,只需访问订单表的一个分区。如果订单包含两年的历史,这个查询只需要访问一个分区,而不是104个。由于分区调整,该查询的执行速度可能会快一百倍。分区与所有其他Oracle性能特性一起工作。Oracle可以将分区调整与任何索引技术、连接技术或并行访问方法结合起来。

分区智能连接

分区函数可以通过一种称为分区智能连接的技术来提高多表连接的性能。当要将两个表联接在一起,并且每个表都由一个联接键进行分区时,可以使用分区智能联接。智能分区连接将一个大的连接分解成发生在分区之间的更小的连接,从而在更短的时间内完成所有的连接。这将为串行和并行erp R&D部门带来显著的性能改进。

利用分区功能提高可用性

分区数据库对象具有分区独立性。这种分区独立性特性可能是高可用性策略的一个重要部分。例如,如果已分区表的一个分区不可用,该表的所有其他分区都保持在线和可用。然后,应用程序可以继续在分区表上执行查询和事务处理,并且只要数据库操作没有访问不可用的分区,它仍然可以成功运行。

数据库管理员可以指定每个分区存储在不同的tables 空中,这样管理员就可以隔离其他表分区,以便对单个分区进行备份和恢复操作。此外,分区功能可以减少计划停机时间。由于分区功能提高了性能,数据库管理员可以在相对较短的时间内完成大型数据库对象的维护。

未来发展方向

自从引入分区技术以来,每次发布重要版本时,Oracle都会添加新的分区方法。Oracle8引入了范围分区函数,Oracle8i引入了散列和组合范围散列分区函数,Oracle9i引入了列表分区函数。在最新版本的Oracle database 10g中,增强了索引组织表和全局父亲节:父亲节快乐分区索引的分区策略,并扩展了其针对所有分区维护操作的并发索引维护功能。Oracle致力于不断改进分区技术,以确保满足所有业务需求。

结论

采用Oracle partitioning的Oracle database 10g可以显著增强几乎所有数据库应用程序的可管理性、性能和可用性。分区函数可以用于前沿应用,分区函数确实可以成为保证这些应用成功的关键技术组件。同时,分区功能也可以用在常见的数据库应用中,以简化这些应用的管理,降低管理成本。

关键词:Oracle,数据库

优侠库网站每天提供最新最热门的安卓手机软件、游戏下载、分享热门手游资讯攻略教程、手机软件教程步骤,专注安卓手机游戏软件下载。

本文链接:http://www.123down.cn/gonglue/227355.html

攻略资讯
安卓软件
安卓游戏