oracle分区表优点

oracle分区表

分区有利于管理更大的表和索引,在分区中引入了一个分区键的概念,分区键用于根据某个区间值、特定值列表、或散列函数执行数据的聚集。

使用分区表可能有如下好处:

1提高数据的高用性:可用性的提高源自于每个分区的独立性,一个分区的可能不能等同于对象本身的可用。优化器知道这种分区机制,会相应的从查询计划中去除未引用的分区。

ops$tkyte@ORA10G> CREATE TABLE emp

2  ( empno   int,

3    ename   varchar2(20)

4  )

5  PARTITION BY HASH (empno)

6  ( partition part_1 tablespace p1,

7    partition part_2 tablespace p2

8  )

9  /

Table created.

 ops$tkyte@ORA10G> insert into emp select empno, ename from scott.emp

2  /

14 rows

created.ops$tkyte@ORA10G> select * from emp partition(part_1);

EMPNO ENAME———- ——————–7369

SMITH7499

ALLEN7654

MARTIN7698

BLAKE7782

CLARK7839

 KING7876

ADAMS7934

MILLER

8 rows

 selected

ops$tkyte@ORA10G> select * from emp partition(part_2);

EMPNO ENAME———- ——————–7521

 WARD7566

 JONES7788

SCOTT7844

TURNER7900 J

AMES7902

FORD

6 rows selected.

ops$tkyte@ORA10G> alter tablespace p1 offline;

Tablespace altered.

ops$tkyte@ORA10G> select * from emp;select * from emp

*ERROR at line 1:ORA-00376: file 12 cannot be read at this timeORA-01110: data file 12:’/home/ora10g/oradata/ora10g/ORA10G/datafile/p1.dbf’

ops$tkyte@ORA10G> variable n number

ops$tkyte@ORA10G> exec :n := 7844;

PL/SQL procedure successfully completed.

ops$tkyte@ORA10G> select * from emp where empno = :n;

EMPNO ENAME———- ——————–7844 TURNER

2。减轻管理负担。

这个很容易理解。管理10G的表和管理100G的表。

3 改善某些查询性能

在只读查询的性能方面,分区对两类操作起作用

1 分区消除:处理查询时,不考虑某些数据分区.

2并行操作:并行全表扫描和并行索引区间扫描.(和操作系统有关)

4。减少资源竞争。



评论暂缺

(Required)
(Required, will not be published)