一、什么时候用到分区表
1.当表达到GB大小且继续增长
2.需要将历史数据和当前的数据分开单独处理,比如历史数据仅仅需要只读,而当前数据则实现DML
二、分区的条件及特性
共性:不同的分区之间必须有相同的逻辑属性,比如表名,列名,数据类型,约束等,
个性:各个分区可以有不同的物理属性,比如pctfree, pctused, and tablespaces. 分区独立性:即使某些分区不可用,其他分区仍然可用。
特殊性:含有LONG、LONGRAW数据类型的表不能进行分区
三、分区的优点
1、提高查询性能:只需要搜索特定分区,而非整张表,提高查询速度
2、节约维护时间:单个分区的数据装载,索引重建,备份,维护等将远小于整张表的维护时间
3、节约维护成本:可以单独备份和恢复每个分区
4、均衡I/O:将不同的分区映射到不同的磁盘以平衡I/O,提高并发
四、ORACLE分区类型:
范围分区、散列分区、列表分区、组合分区
Range分区:行映射到基于列值范围的分区 Range分区,又称为范围分区,基于分区键值的范围将数据映射到所建立的分区上。这是最通用的分区类型。 在按时间分区时,如果某些记录暂无法预测范围,可以创建maxvalue分区,所有不在指定范围内的记录都会被存储到maxvalue所在分区中。
--创建分区表
CREATE TABLE T_NEW (log_id, fun_code,log_time,povcd,req_typ,ip_addr)
PARTITION BY RANGE (log_time) (
PARTITION P1 VALUES LESS THAN (TO_DATE('2014-11-15', 'YYYY-MM-DD')),
PARTITION P3 VALUES LESS THAN (TO_DATE('2014-11-30', 'YYYY-MM-DD')),
PARTITION P4 VALUES LESS THAN (MAXVALUE)) AS
SELECT log_id, fun_code,log_time,povcd,req_typ,ip_addr FROM APP_ACCESS_LOG;
--查询分区表
select * from T_NEW partition (p2) t where t.fun_code = '1111';
--删除其中一个分区
alter table T_NEW drop partition p4;
--添加一个分区
ALTER TABLE T_NEW add partition p5 values less than (TO_DATE('2015-01-30', 'YYYY-MM-DD'));
--split 将默认maxvalue分区分离成两个分区
alter table T_NEW split partition P4 at (TO_DATE(' 2015-01-31 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN')) into (partition P4, partition PMAX);
--合并分区
alter table T_NEW merge partitions p1,p3 into partition p2;
--查询分区表分区情况
select table_name,partition_name from user_tab_partitions where table_name='T_NEW';
参考:http://blog.csdn.net/leshami/article/details/5925572
相关推荐
【Oracle分区表用法】 Oracle分区表是一种高级的数据库管理技术,它将大型表的数据分散存储在不同的物理区域,以提升查询效率和系统的整体性能。本文将详细介绍分区表的概念、作用、优缺点,以及各种类型的分区表...
### Oracle 分区表详解 #### 一、Oracle 分区简介 Oracle 的分区技术是一种用于管理和优化超大型表和索引的有效手段。通过将一个大型的表或者索引分割成多个较小且可管理的部分,分区技术能够显著提升数据库的性能...
### Oracle 分区表与分区索引详解 #### 一、Oracle分区概述 在Oracle数据库中,分区技术是一种非常有效的管理大型表和索引的方法。通过将一个大的表或索引分成多个较小的部分(分区),可以显著提高查询性能,并...
### 分区表及分区索引概述 在Oracle数据库中,分区技术是一种重要的数据管理手段,尤其适用于处理大型数据集。通过将大型表或索引分解为较小、更易于...希望本文提供的信息能帮助读者更好地理解和运用Oracle分区功能。
Oracle数据库的分区技术是一种高效管理和处理大量数据的策略,它将大表或索引分割成较小的物理段,称为分区。这种技术的核心理念是“分而治之”,即将大规模的数据对象依据特定的字段值(分区键)划分为多个独立的...
### 导入导出Oracle分区表数据 #### 一、概述 在Oracle数据库管理中,对分区表进行数据的导入与导出是一项常见的任务。分区技术可以显著提高大型表的性能,尤其是在处理大规模数据集时。为了有效地管理和迁移这些...
以下是对Oracle分区表和分区索引的深入解析: 1. **何时使用分区**: - 当表的数据量超过2GB时,分区有助于避免32位操作系统下的文件大小限制,同时减少大规模数据的备份时间。 - 对于包含历史数据的表,如按月份...
### ORACLE 分区表的创建详解 #### 一、概述 在Oracle数据库中,分区是一种高效的数据管理方式,尤其适用于大型表和索引组织表。通过将数据逻辑地分割成多个独立的部分(即分区),可以显著提高查询性能,并简化表...
Oracle 分区表及分区索引 Oracle 分区表是指将一个大表分割成多个小表,每个小表称为一个分区,分区表的优点是可以提高查询性能、改善管理型、增强容错性等。 分区表的分类: 1. 范围分区(Range Partitioning) ...
#### 一、Oracle分区表概述 在Oracle数据库中,分区是一种对大型表进行物理分割的方法,它可以显著提高查询性能并简化数据管理任务。通过将一个大表分成多个较小的部分(即分区),可以更快地执行查询操作,尤其是...
然后,讨论了Oracle分区表的类型,包括范围分区(Range)、散列分区(Hash)、列表分区(List)、组合分区(Subpartition)、Interval分区和引用分区(Reference)。每种类型的分区都有其特点和应用场景。 在 VLDB ...
分区技术在Oracle 10g R2版本中支持四种类型:范围分区(Range)、列表分区(List)、散列分区(Hash)和组合分区(Range-List和Range-Hash)。范围分区基于特定值的范围将数据分至不同分区,例如按日期创建的业务...
总结来说,Oracle分区表是一种有效管理大规模数据的手段,通过合理分区,可以显著提升查询效率,简化维护工作,并提供更高的数据可用性。然而,使用分区也需要权衡其带来的复杂性和额外的存储需求。正确理解和应用...
### ORACLE-分区表的用法 #### 1. 表空间及分区表的概念 - **表空间**:表空间是Oracle数据库中的基本存储单元,它由一个或多个数据文件组成,用于存储数据库中的所有数据对象(如表、索引等)。在Oracle中,所有...
- 分区表的管理可能比非分区表复杂,尤其是当涉及到大量分区时。 - 对于频繁更改分区键的场景,分区表的维护成本较高。 #### 四、分区类型及示例 ##### 1. 范围分区 范围分区是根据一个列的值的范围来决定数据存储...
Oracle 分区表分区索引详解 Oracle 分区表分区索引是 Oracle 数据库中的一种重要机制,它可以提高数据的存储和查询效率。下面将详细介绍 Oracle 分区表分区索引的类型、分类、创建方法和维护方式。 一、分区表和...
描述与标签:本文将深入探讨Oracle分区表的创建、管理以及查询技巧,重点包括范围分区(RANGE)、哈希分区(HASH)和列表分区(LIST),并涵盖复合分区(COMPOUND PARTITIONING)的概念。 ### 一、Oracle分区表概述...