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
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。减少资源竞争。
