zoukankan      html  css  js  c++  java
  • oracle分区

    通过对表进行分区,可以获得以下的好处:

      1)减少数据损坏的可能性。

      2)各分区可以独立备份和恢复,增强了数据库的可管理性。

      3)可以控制分区在硬盘上的分布,以均衡IO,改善了数据库的性能。

     Oracle的表分区有以下几种类型:

      1)范围分区:将表按某一字段或若干个字段的取值范围分区。

    CREATE TABLE CUSTOMER
    (
    CUSTOMER_ID NUMBER NOT NULL PRIMARY KEY,
    FIRST_NAME VARCHAR2(30) NOT NULL,
    LAST_NAME VARCHAR2(30) NOT NULL,
    PHONE VARCHAR2(15) NOT NULL,
    EMAIL VARCHAR2(80),
    STATUS CHAR(1)
    )
    PARTITION BY RANGE (CUSTOMER_ID)
    (
    PARTITION CUS_PART1 VALUES LESS THAN (100000) TABLESPACE CUS_TS01,
    PARTITION CUS_PART2 VALUES LESS THAN (200000) TABLESPACE CUS_TS02
    )



      2)hash分区:将表按某一字段的值均匀地分布到若干个指定的分区。

    CREATE TABLE HASH_TABLE
    (
    COL NUMBER(8),
    INF VARCHAR2(100)
    )
    PARTITION BY HASH (COL)
    (
    PARTITION PART01 TABLESPACE HASH_TS01,
    PARTITION PART02 TABLESPACE HASH_TS02,
    PARTITION PART03 TABLESPACE HASH_TS03
    )

    3 )列表分区:该分区的特点是某列的值只有几个,基于这样的特点我们可以采用列表分区。
    示例1:
    CREATE TABLE PROBLEM_TICKETS
    (
    PROBLEM_ID NUMBER(7) NOT NULL PRIMARY KEY,
    DESCRIPTION VARCHAR2(2000),
    CUSTOMER_ID NUMBER(7) NOT NULL,
    DATE_ENTERED DATE NOT NULL,
    STATUS VARCHAR2(20)
    )
    PARTITION BY LIST (STATUS)
    (
    PARTITION PROB_ACTIVE VALUES ('ACTIVE') TABLESPACE PROB_TS01,
    PARTITION PROB_INACTIVE VALUES ('INACTIVE') TABLESPACE PROB_TS02
    )


      4)复合分区:结合了前面两种分区类型的优点,首先通过值范围将表进行分区,然后以hash模式将数据进一步均匀分配至物理存储位置。
    CREATE TABLE SALES
    (
    PRODUCT_ID VARCHAR2(5),
    SALES_DATE DATE,
    SALES_COST NUMBER(10),
    STATUS VARCHAR2(20)
    )
    PARTITION BY RANGE(SALES_DATE)
    SUBPARTITION BY LIST (STATUS)
    (
    PARTITION P1 VALUES LESS THAN (TO_DATE('2003-01-01','YYYY-MM-DD')) TABLESPACE P1_TS
    (
    SUBPARTITION P1SUB1 VALUES ('ACTIVE') TABLESPACE SUBP1_TS1,
    SUBPARTITION P1SUB2 VALUES ('INACTIVE') TABLESPACE SUBP1_TS2
    ),
    PARTITION P2 VALUES LESS THAN (TO_DATE('2003-03-01','YYYY-MM-DD')) TABLESPACE P2_TS
    (
    SUBPARTITION P2SUB1 VALUES ('ACTIVE') TABLESPACE SUBP2_TS1,
    SUBPARTITION P2SUB2 VALUES ('INACTIVE') TABLESPACE SUBP2_TS2
    )
    )
      综合考虑各项因素,以第三种类型最为优越.

  • 相关阅读:
    优化Android Studio/Gradle构建
    Android sdk 搭建
    map排序
    单例
    一些rtsp实现的开源代码
    MySQL性能优化/调优:默认配置的修改
    mysql 优化 实现命中率100%
    mysql性能优化-慢查询分析、优化索引和配置
    findbugs规则
    网络编程及并发编程总结
  • 原文地址:https://www.cnblogs.com/liaomin416100569/p/9332089.html
Copyright © 2011-2022 走看看