Oracle分区技术
ORACLE的分区(Partitioning Option)是一种处理超大型表的技术。分区是一种“分而治之”的技术,通过将大表和索引分成可以管理的小块,从而避免了对每个表作为一个大的、单独的对象进行管理,为大量数据提供了可伸缩的性能。分区通过将操作分配给更小的存储单元,减少了需要进行管理操作的时间,并通过增强的并行处理提高了性能,通过屏蔽故障数据的分区,还增加了可用性。
ORACLE的分区表的划分方法包括:按字段值进行划分的范围分区;按字段的HASH函数值进行的划分HASH分区;先按范围划分,再按HASH划分的复合分区;在ORACLE9i中又增强了按字段值列表进行划分的列表(Listing)分区方法。
管理员可以指定每个分区的存储属性,分区在宿主文件系统中的放置情况,这样便增加了对超大型数据库的控制粒度(granularity)。分区可以被单独地删除、卸出或装入、备份、恢复,因此减少了需要进行管理操作的时间。
还可以为表分区创建单独的索引分区,从而减少了需要进行索引维护操作的时间。此外,还提供了种类繁多的局部和全局的索引技术。分区操作也可以被并行执行。
分区技术还提高了数据的可用性。当部分数据由于故障或其它原因不可用时,其它分区内的数据可用不收影响继续使用。
分区对应用是透明的,可以通过标准的SQL语句对分区表进行操作。Oracle 的优化器在访问数据时会分析数据的分区情况,在进行查询时,那些不包含任何查询数据的分区将被忽略,从而大大提高系统的性能。
分区原则
1.表分区的指南
a、表的大小
对于大表进行分区,将有益于大表操作的性能和大表的数据维护。通常当表的大小超过1.5GB-2GB,或对于OLTP系统,表的记录超过1000万,都应考虑对表进行分区。
b、数据访问特性
基于表的大部分查询应用,只访问表中少量的数据。对于这样表进行分区,可充分利用分区排除无关数据查询的特性。
c、数据维护
某些表的数据维护,经常按时间段删除成批的数据,例如按月删除历史数据。对于这样的表需要考虑进行分区,以满足维护的需要。因为删除(Delete)大量的数据,对系统开销很大,有时甚至是不可接受的。
d、只读数据
如果一个表中大部分数据都是只读数据,通过对表进行分区,可将只读数据存储在只读表空间中,对于数据库的备份是非常有益的。
e、并行数据操作(Parallel DML)
对于经常执行并行操作(如Parallel Insert,Parallel Update等)的表应考虑进行分区。
f、表的可用性
当对表的部分数据可用性要求很高时,应考虑进行表分区。
2.选择分区字段(Partition Key)
当确定分区字段时,有两个主要因素特别需要考虑:
a、增强表的管理和维护性
通过Partition Key,可以使数据维护基于某个分区进行,如Drop或Truncate一个或多个分区。通过Paratition Key可控制只读的数据存储在相应的分区中,且这些分区存储在只读的表空间里,这将提高数据备份的性能。这类Partition Key通常与时间相关。
b、提高访问表的性能
通过Partition Key,可使查询的数据定位在一个或少量的分区中;这需要考虑最常用的查询条件。注意在考虑提高查询效率这个因素的同时,还应兼顾数据维护管理的因素,尽可能地避免相互间地冲突。
分享到:
相关推荐
Oracle分区技术是一种数据库管理系统(DBMS)特性,用于将大型表和索引分割成更小、更易管理和处理的部分,从而提升查询性能和数据管理效率。这种技术特别适用于数据仓库和决策支持系统(DSS),因为这些系统通常...
简单讲解了oracle分区技术-大批量数据操作
oracle分区技术-大批量数据操作,优化处理,大数据量的处理
Oracle分区技术研究及实现 Oracle分区技术是关系型数据库中的一种重要技术,用于解决大型表的使用和维护问题。本文对Oracle分区技术的概念、表分区、索引分区和分区策略进行了详细的介绍,并提供了实际应用示例。 ...
Oracle 分区技术概述 Oracle 分区技术是 Oracle 数据库中的一种高级技术,用于解决大批量数据操作问题。该技术可以将大型表或索引分割成小的、独立的物理段,以提高数据的管理和查询效率。 分区技术的优点包括: ...
### Oracle分区技术和11g分区新特性 #### 数据分区的重要性 在现代信息技术环境中,随着企业规模的不断扩大和技术的快速发展,数据库中的数据量呈现爆炸性增长的趋势。这种趋势导致了一个非常现实的问题:如何有效...
Oracle数据库作为一个强大且广泛使用的数据库管理系统,在处理大规模数据方面拥有许多高级特性,其中Oracle分区技术尤其值得关注。 Oracle分区技术是一种将大型表和索引拆分成较小、更易于管理的分区的方法。这些...
oracle 分区技术-大批量数据操作 大数据对象 (表, 索引)被分成小物理段 当分区表建立时,记录基于分区字段值被存储到相应分区。 分区字段值可以修改。(row movement enabled) 分区可以存储在不同的表空间 分区可以...
Oracle 分区技术.pdf Oracle 分区技术是 Oracle 数据库中的一种强大功能,自 1997 年的 Oracle 8.0 中首次引入。它可以提高应用程序的性能、可管理性和可用性。Oracle 数据库 11g 中引入了第 8 代分区,继续提供...
【Oracle分区技术】 Oracle分区技术是Oracle数据库管理系统中一种高级的数据组织策略,旨在优化大规模数据管理,提升查询性能,以及简化数据库的维护工作。在Oracle中,分区将一个大的表或索引分解成多个较小、更易...
【Oracle分区技术】是Oracle数据库管理系统提供的一种高级数据管理策略,尤其适用于处理大规模数据的存储和查询优化。在省级价格监测系统中,由于涉及到的商品领域广泛、监测指标复杂,数据量巨大,传统的单一表管理...
ORACLE分区技术详述范围分区、哈希分区、列表分区、复合分区及分区索引处理海量数据
Oracle提供了分区技术以支持VLDB(Very Large DataBase)。将数据分散到各个分区中,减少了数据损坏的可能性;可以对单独的分区进行备份和恢复;可以将分区映射到不同的物理磁盘上,来分散IO ;提高可管理性、可用性和...