`
zhaoshunxin
  • 浏览: 29917 次
  • 来自: 济南
社区版块
存档分类
最新评论

Oracle数据分区

 
阅读更多
--范围分区
--范围分区就是对数据表中的某个值的范围进行分区,根据某个值的范围,决定将该数据存储在哪个分区上。如根据序号分区,根据业务记录的创建日期进行分区等
create table SUBAREA
(
PID number not null,
PITEM varchar2(200),
PDATA date not null
)
partition by range(PID)
(
partition part_01 values less than(100000),
partition part_02 values less than(200000),
partition part_03 values less than(300000),
partition part_04 values less than(400000),
partition part_05 values less than(maxvalue)
)
--添加分区
ALTER TABLE SUBAREA DROP PARTITION part_01;
ALTER TABLE SUBAREA DROP PARTITION part_02;
ALTER TABLE SUBAREA DROP PARTITION part_03;
ALTER TABLE SUBAREA DROP PARTITION part_04;
ALTER TABLE SUBAREA DROP PARTITION part_05;


alter table subarea add partition part_03 values less than(200000)
alter table subarea add partition part_04 values less than(300000)
alter table subarea add partition part_05 values less than(maxvalue)

--更改分区名
alter table subarea rename Partition part_01 to part_01_01;

--合并分区
ALTER TABLE subarea MERGE PARTITIONS part_01,part_02 INTO PARTITION part_02;
--拆分分区
ALTER TABLE subarea split partition  part_03 AT(250000) INTO (PARTITION part_03_01,PARTITION part_03_02);

select t.*,t.rowid from subarea partition(part_01) t where t.pid<50000 order by t.rowid
select * from subarea partition(part_02) where pid<100000 order by pid
select * from subarea partition(part_03) where pid>50000 order by pid
select max(pid) from subarea

--hash 分区技术
--散列分区为通过指定分区编号来均匀分布数据的一种分区类型,因为通过在I/O设备上进行散列分区,使得这些分区大小一致。
create table SUBAREA_HASH
(
PID number not null,
PITEM varchar2(200),
PDATA date not null
)
partition by hash(PID)
(
partition part_h01,
partition part_h02,
partition part_h03
)

INSERT INTO SUBAREA_HASH(PID,PITEM,PDATA) SELECT PID ,PITEM,PDATA FROM SUBAREA

select t.*,t.rowid from SUBAREA_HASH partition(part_h02) t ORDER BY PID

select t.*,rownum from subarea partition(part_03_01) t

---复合分区
create table SUBAREA_FH
(
PID number not null,
PITEM varchar2(200),
PDATA date not null
)
partition by RANGE(PID)
SUBPARTITION BY HASH(PID)
(
partition part_R01 VALUES LESS THAN (100000)
(
     SUBPARTITION PART_R01_01,
     SUBPARTITION PART_R01_02
),
partition part_R02 VALUES LESS THAN (200000),
partition part_R03 VALUES LESS THAN (MAXVALUE)
(
      SUBPARTITION PART_R03_01,
     SUBPARTITION PART_R03_02 
)
)


select t.*,t.rowid from SUBAREA_FH subpartition(PART_R01_01) t ORDER BY PID;
select t.*,t.rowid from SUBAREA_FH subpartition(PART_R01_02) t ORDER BY PID
分享到:
评论

相关推荐

    oracle 数据分区

    NULL 博文链接:https://lvjava.iteye.com/blog/352041

    Oracle表分区详解(优缺点)

    Oracle 表分区是一种高效的数据管理策略,用于处理大数据量的表,以提升查询性能和数据库的可维护性。本文将详细介绍Oracle表分区的概念、作用、优缺点,以及各种类型的分区和操作方法。 首先,理解表空间和分区表...

    oracle 分区技术-大批量数据操作

    oracle 分区技术-大批量数据操作 大数据对象 (表, 索引)被分成小物理段 当分区表建立时,记录基于分区字段值被存储到相应分区。 分区字段值可以修改。(row movement enabled) 分区可以存储在不同的表空间 分区可以...

    Oracle Partitioning – 数据分区技术介绍

    ### Oracle Partitioning – 数据分区技术介绍 #### 数据分区概念 数据分区是一种数据库设计技术,它将大型表划分为较小、更易管理的部分。这种技术基于一个或多列的值来进行划分,目的是为了提升性能、增强可管理...

    oracle数据表分区知识

    ### Oracle 数据表分区详解 #### 一、分区表理论知识 Oracle 提供了表分区功能以支持非常大型的数据库(VLDB)。通过分区技术,可以根据指定的分区键将数据分散到不同的物理位置,从而实现更高效的数据管理和查询...

    oracle分区表之hash分区表的使用及扩展

    Oracle分区表中的Hash分区是一种基于哈希算法的分区策略,适用于处理无法清晰定义分区范围的大型数据表。这种分区方式通过计算分区键的哈希值来决定数据存储在哪个分区,以此达到数据分散和负载均衡的目的。Hash分区...

    oracle表分区详解

    Oracle数据库中的表分区是一种高级组织技术,它通过将表的大数据集划分为较小的、更易于管理的部分(即分区),从而提高查询性能和可管理性。表分区可以按照不同的策略进行划分,如范围分区、列表分区等。 #### 二...

    Oracle数据库分区表操作方法

    复合分区是结合范围分区和Hash 分区的优点,将数据分区成多个维度。例如,我们可以使用序号分区和日期分区结合的复合分区。 Oracle数据库中的分区表操作方法可以提高应用系统的性能和方便数据管理,但需要根据实际...

    Oracle分区表详解

    ### Oracle 分区表详解 #### 一、Oracle 分区简介 Oracle 的分区技术是一种用于管理和优化超大型表和索引的有效手段。通过将一个大型的表或者索引分割成多个较小且可管理的部分,分区技术能够显著提升数据库的性能...

    利用kettle自动创建oracle表分区

    Oracle表分区是一种非常重要的数据库优化技术,它可以将大型表分割成多个小的独立表,从而提高查询效率和数据管理效率。在本篇文章中,我们将使用Kettle来自动创建Oracle表分区。 Oracle表分区是指将一个大型表分割...

    清除oracle分区表数据

    而对于已经确定不再使用的旧数据分区,则可以直接使用DROP PARTITION命令彻底移除。 总之,在进行批量清除数据的操作时,需要综合考虑各种因素,确保既能高效地完成任务又能满足业务需求。希望本文能够帮助到正在...

    导入导出 Oracle 分区表数据

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

    Oracle表分区详解

    Oracle数据库中的表分区是数据库管理的一种高级技术,它允许我们将大型表分解成更小、更易管理和查询的部分,从而提高数据存储和检索的效率。在本文中,我们将深入探讨Oracle表分区的各个方面,包括其重要性、类型、...

    ORACLE分区

    Oracle分区是一种将大表或索引分割成较小部分的技术,旨在提高查询性能、减少管理开销并简化数据维护操作。通过合理地将数据分成多个物理块,可以显著提升查询效率,特别是在处理大量历史数据或执行复杂的分析任务时...

    Oracle表分区 建表空间 创建用户

    ### Oracle表分区、建表空间与用户管理 #### 一、表空间的创建与管理 在Oracle数据库中,**表空间**(Tablespace)是物理存储的逻辑容器,它由一个或多个数据文件组成。创建一个新的表空间对于数据库的管理非常重要...

    Oracle 分区表 分区索引

    ### Oracle 分区表与分区索引详解 #### 一、Oracle分区概述 在Oracle数据库中,分区技术是一种非常有效的管理大型表和索引的方法。通过将一个大的表或索引分成多个较小的部分(分区),可以显著提高查询性能,并...

    oracle表分区详细讲解

    ### Oracle表分区详解 #### 一、表空间与分区表概念 **表空间**:在Oracle数据库中,表空间是一个或多个数据文件的集合。所有数据对象(如表、索引等)都存放在特定的表空间中。由于主要存放的是表,因此被称为...

Global site tag (gtag.js) - Google Analytics