`

oracle分区表-range分区

阅读更多

一、什么时候用到分区表

             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分区技术-大批量数据操作.ppt

    Oracle数据库的分区技术是一种高效管理和处理大量数据的策略,它将大表或索引分割成较小的物理段,称为分区。这种技术的核心理念是“分而治之”,即将大规模的数据对象依据特定的字段值(分区键)划分为多个独立的...

    导入导出 Oracle 分区表数据

    ### 导入导出Oracle分区表数据 #### 一、概述 在Oracle数据库管理中,对分区表进行数据的导入与导出是一项常见的任务。分区技术可以显著提高大型表的性能,尤其是在处理大规模数据集时。为了有效地管理和迁移这些...

    深入学习分区表及分区索引(详解oracle分区).docx

    以下是对Oracle分区表和分区索引的深入解析: 1. **何时使用分区**: - 当表的数据量超过2GB时,分区有助于避免32位操作系统下的文件大小限制,同时减少大规模数据的备份时间。 - 对于包含历史数据的表,如按月份...

    ORACLE分区表的创建

    ### ORACLE 分区表的创建详解 #### 一、概述 在Oracle数据库中,分区是一种高效的数据管理方式,尤其适用于大型表和索引组织表。通过将数据逻辑地分割成多个独立的部分(即分区),可以显著提高查询性能,并简化表...

    Oracle分区表及分区索引

    Oracle 分区表及分区索引 Oracle 分区表是指将一个大表分割成多个小表,每个小表称为一个分区,分区表的优点是可以提高查询性能、改善管理型、增强容错性等。 分区表的分类: 1. 范围分区(Range Partitioning) ...

    oracle分区表总结

    #### 一、Oracle分区表概述 在Oracle数据库中,分区是一种对大型表进行物理分割的方法,它可以显著提高查询性能并简化数据管理任务。通过将一个大表分成多个较小的部分(即分区),可以更快地执行查询操作,尤其是...

    Oracle分区表和分区索引在VLDB中的研究.pdf

    然后,讨论了Oracle分区表的类型,包括范围分区(Range)、散列分区(Hash)、列表分区(List)、组合分区(Subpartition)、Interval分区和引用分区(Reference)。每种类型的分区都有其特点和应用场景。 在 VLDB ...

    oracle数据库优化-分区共.pdf

    分区技术在Oracle 10g R2版本中支持四种类型:范围分区(Range)、列表分区(List)、散列分区(Hash)和组合分区(Range-List和Range-Hash)。范围分区基于特定值的范围将数据分至不同分区,例如按日期创建的业务...

    ORACLE分区表的概念及操作

    总结来说,Oracle分区表是一种有效管理大规模数据的手段,通过合理分区,可以显著提升查询效率,简化维护工作,并提供更高的数据可用性。然而,使用分区也需要权衡其带来的复杂性和额外的存储需求。正确理解和应用...

    ORACLE-分区表的用法

    ### ORACLE-分区表的用法 #### 1. 表空间及分区表的概念 - **表空间**:表空间是Oracle数据库中的基本存储单元,它由一个或多个数据文件组成,用于存储数据库中的所有数据对象(如表、索引等)。在Oracle中,所有...

    oracle表分区详解

    - 分区表的管理可能比非分区表复杂,尤其是当涉及到大量分区时。 - 对于频繁更改分区键的场景,分区表的维护成本较高。 #### 四、分区类型及示例 ##### 1. 范围分区 范围分区是根据一个列的值的范围来决定数据存储...

    oracle分区表分区索引.docx

    Oracle 分区表分区索引详解 Oracle 分区表分区索引是 Oracle 数据库中的一种重要机制,它可以提高数据的存储和查询效率。下面将详细介绍 Oracle 分区表分区索引的类型、分类、创建方法和维护方式。 一、分区表和...

    oracle分区表详细讲解

    描述与标签:本文将深入探讨Oracle分区表的创建、管理以及查询技巧,重点包括范围分区(RANGE)、哈希分区(HASH)和列表分区(LIST),并涵盖复合分区(COMPOUND PARTITIONING)的概念。 ### 一、Oracle分区表概述...

Global site tag (gtag.js) - Google Analytics