oracle分区表

作者: 否否 | 来源:发表于2015-05-09 21:34 被阅读0次

    一、分区表理论知识

    oracle的分区表可以包括多个分区,每个分区都是一个独立的段,存放到不同的表空间中,查询时可以通过表来访问各个分区中的数据,也可以通过在查询时直接指定分区的方法来进行查询。

    1.何时需要分区?
    • 数据超过2G
    • 历史表
    2.分区表的优点
    • 由于将数据分散到各个区中,减少了损坏的可能性;
    • 可以对单独的分区进行备份和恢复;
    • 可以将分区映射到不同的物理磁盘上,来散 IO ;
    • 提高可管理性,可用性和性能

    二、几种分区介绍

    1.Range分区
    create table pdba(
    id number,
    oc_date number
    )
    partition by range(oc_date)
    (
      partition p1 values less than(20141231),
      partition p2 values less than(20151231),
      partition p3 values less than(maxvalue)
    );
    select * from pdba partition(p1) t;
    
    2.Hash分区--无法有效划分范围的表,列所在分区依据分区列的hash值自动分配
    create table hashpt(
    transaction_id number primary key,
    item_id number not null
    )
    partition by hash(transaction_id)
    (
      partition part_01 tablespace tablespace01,
      partition part_02 tablespace tablespace02
    );
    
    3.List分区--分区列只能有一个,单个分区对应值可以是多个
    create table listpt(
    id number(10) not null,
    areacode varchar2(4)
    )
    partition by list(areacode)
    (
      partition list025 values('025'),
      partition list024 values('024','034'),
      partition listother values(default)
    );
    

    相关文章

      网友评论

        本文标题:oracle分区表

        本文链接:https://www.haomeiwen.com/subject/elbnfttx.html