最近有个Batch性能特别差,超过30个小时的运行,采用Partition后3个小时内就可以运行完,特别的神奇。
Oracle Partition简介
ORACLE的Partition是一种处理超大型表、索引等的技术。分区是一种“分而治之”的技术,通过将大表和索引分成可以管理的小块,从而避免了对每个表作为一个大的、单独的对象进行管理,为大量数据提供了可伸缩的性能。Partition通过将操作分配给更小的存储单元,减少了需要进行管理操作的时间,并通过增强的并行处理提高了性能,通过屏蔽故障数据的分区,还增加了可用性。
举个简单的例子,下面是根据STREAM_VALUE来做Partition:
-- Create partition table
create table TMP_ROWID
(
ROW_ID ROWID not null,
STREAM_VALUE NUMBER(10)
) partition by list (STREAM_VALUE)
(
partition S1 values (1),
partition S2 values (2),
partition S3 values (3),
partition S4 values (4),
partition S5 values (5),
partition S6 values (6),
partition S7 values (7),
partition S8 values (8)
);
实际业务中,可以根据数据的特点来做相应的Partition,比如时间,数据类别等等。
分享到:
相关推荐
### Oracle Partition 分区详解 #### 一、表空间与分区表概念 在Oracle数据库中,**表空间**是数据文件的逻辑容器,用于组织和管理数据。它由一个或多个数据文件组成,其中包含了数据库的所有数据对象,如表、索引...
Oracle Partition 深入探讨 Oracle Partition 是一种数据库优化技术,它将大型表和索引分解为更小、更易管理的部分,称为分区。这一特性旨在解决支持非常大的表和索引时所面临的挑战。通过分区,可以对数据库对象...
"Oracle partition"是指Oracle数据库的分区特性,它允许数据库管理员将大表或索引根据特定的逻辑标准(如日期、范围、哈希等)划分为多个小块,每个部分称为一个分区。这种技术对于处理大量数据的系统尤其有用,因为...
ORACLE数据库中PARTITION的用法[文].pdf
从提供的文件信息中,我们可以提取出关于Oracle分区表的相关知识点。这些知识点主要涉及分区表的概念、类型以及它们在数据管理和查询性能提升方面的作用。 首先,分区表是数据库中用于数据组织的一种机制。在Oracle...
Oracle查询中的`OVER (PARTITION BY ..)`是一个窗口函数,它允许我们在数据集上执行计算,但不是在整个结果集上,而是针对每个分区。这部分功能非常强大,可以用于复杂的分析和排序任务,尤其是在处理分组数据时。在...
EXCHANGE PARTITION`语句交换分区。 5. 将`T`重命名为`T_OLD`。 6. 将`T_NEW`重命名为`T`。 - **优点**: - 效率极高,因为只涉及元数据的修改,无需实际复制数据。 - 可以通过检查`T_OLD`来确保数据完整性。 ...
oracle表分析和表分区sql(针对于oracle数据库表上亿条数据量所要考虑的优化操作)
Oracle 8i Partition.rar
- **Oracle Partition 表分区与分区索引** - 表分区是Oracle数据库中的一个重要特性,可以显著提高大表的查询性能。 - 分区可以通过多种方式进行,如范围分区、列表分区、散列分区等。 - 分区索引则可以根据特定...
本资料“oracle_partition_index.zip_partition”着重讨论了Oracle分区和索引的相关知识,下面将对这些主题进行详细解释。 一、Oracle分区 1. 分区概念:Oracle分区是将一个大表或索引分成多个较小、更易管理的...
在Oracle数据库中,`RANK()`, `OVER()`, `PARTITION BY` 是窗口函数的重要组成部分,它们在数据处理和分析中发挥着至关重要的作用。本文将深入探讨这些函数的用法,通过实例来帮助理解它们的功能和应用场景。 首先...
### Oracle 语法之 OVER (PARTITION BY ..) 及开窗函数详解 #### 一、OVER (PARTITION BY ..) 概述 在Oracle数据库中,`OVER (PARTITION BY ...)` 是一种非常强大的功能,它允许用户在数据集上进行窗口操作。这在...
### Oracle 11g Partitioning关键技术点解析 #### 一、Oracle 11g Partitioning概述 Oracle Database 11g Release 2 (11.2) 的分区功能(Partitioning)是数据库管理系统的一项重要特性,它允许用户将大型表或索引...
Oracle9i通过引入列表分区(List Partition),使得当前共有4种分区数据的方法,文中分别介绍了这四种分区方法:范围分区、Hash分区、复合分区、列表分区。
### Oracle 分区表详解 #### 一、Oracle 分区简介 Oracle 的分区技术是一种用于管理和优化超大型表和索引的有效手段。通过将一个大型的表或者索引分割成多个较小且可管理的部分,分区技术能够显著提升数据库的性能...
### Oracle分区表(Partition Table)的创建及管理 #### 一、创建分区表 在Oracle数据库中,分区表是一种非常实用的技术,它能够通过将一个大表分割成多个更小的部分来提高查询性能和可管理性。根据不同的数据分布...
ALTER TABLE <table_name> SPLIT PARTITION <partition_name> AT () INTO (PARTITION <new_partition_name_1>, PARTITION <new_partition_name_2>); ``` * 创建新的分区:可以使用以下语句创建一个新的分区: ```sql...
本篇文章将围绕如何利用`ROW_NUMBER()`函数结合`PARTITION BY`子句来实现基于多个字段的过滤操作,以解决在给定描述中的问题——即如何根据`name`、`idNumber`以及`date`这三个字段过滤教师表中的重复数据,并仅保留...