Home > Database > Mysql Tutorial > Oracle分区表和索引

Oracle分区表和索引

WBOY
Release: 2016-06-07 15:17:45
Original
1289 people have browsed it

欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入 什么时候使用分区: 1、 大数据量的表,比如大于2GB。一方面2GB文件对于32位os是一个上限,另外备份时间长。 2、 包括历史数据的表,比如最新的数据放入到最新的分区中。典型的例子:历史表,只有当

欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入

  什么时候使用分区:

  1、 大数据量的表,比如大于2GB。一方面2GB文件对于32位os是一个上限,另外备份时间长。

  2、 包括历史数据的表,比如最新的数据放入到最新的分区中。典型的例子:历史表,只有当前月份的数据可以被修改,而其他月份只能read-only

  ORACLE只支持以下分区:tables, indexes on tables, materialized views, and indexes on materialized views

  分区对SQL和DML是透明的(应用程序不必知道已经作了分区),但是DDL可以对不同的分区进行管理。

  不同的分区之间必须有相同的逻辑属性,比如共同的表名,列名,数据类型,约束;

  但是可以有不同的物理属性,比如pctfree, pctused, and tablespaces.

  分区独立性:即使某些分区不可用,其他分区仍然可用。

  最多可以分成64000个分区,但是具有LONG or LONG RAW列的表不可以,但是有CLOB or BLOB列的表可以。

  可以不用to_date函数,比如:

  alter session set nls_date_format='mm/dd/yyyy';

  CREATE TABLE sales_range

  (salesman_id NUMBER(5),

  salesman_name VARCHAR2(30),

  sales_amount NUMBER(10),

  sales_date DATE)

  PARTITION BY RANGE(sales_date)

  (

  PARTITION sales_jan2000 VALUES LESS THAN('02/01/2000'),

  PARTITION sales_feb2000 VALUES LESS THAN('03/01/2000'),

  PARTITION sales_mar2000 VALUES LESS THAN('04/01/2000'),

  PARTITION sales_apr2000 VALUES LESS THAN('05/01/2000')

  );

  Partition Key:最多16个columns,可以是nullable的

  非分区的表可以有分区或者非分区的索引;

  分区表可以有分区或者非分区的索引;

Oracle分区表和索引

  Partitioning 方法:

  Range Partitioning

  List Partitioning

  Hash Partitioning

  Composite Partitioning

Oracle分区表和索引

  Composite Partitioning:组合,以及 range-hash and range-list composite partitioning

Oracle分区表和索引

 

[1] [2] [3] [4] 

Oracle分区表和索引

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template