Oracle 聚簇索引
(2009-10-24 10:41:04)
标签:
杂谈 |
分类: Oracle |
--聚簇索引:
--
在Oracle当中,聚簇不是索引的组织形式,而是表的组织形式。
--多用于表之间的连接字段。
--1.先创建一个聚族
CREATE CLUSTER emp_dept_cluster(deptno number(6))SIZE 1024;
--2.在聚簇索引上建立索引
CREATE INDEX emp_dept_cluster_index ON CLUSTER
emp_dept_cluster;
--3.创建表
CREATE TABLE dept1(
deptno NUMBER(6) PRIMARY KEY,
dname VARCHAR2(50)
)CLUSTER emp_dept_cluster(deptno);
CREATE TABLE emp1(
empno NUMBER PRIMARY KEY,
ename VARCHAR2(50),
sal NUMBER(5,2),
deptno NUMBER(6),
FOREIGN KEY(deptno) REFERENCES dept1(deptno)
)CLUSTER emp_dept_cluster(deptno);
--这样可以让两个表同时用上聚簇索引。一个表只能有一个聚簇索引,但是
--一个聚簇索引可以包含多个列,称为组合索引
--保证两个表的记录按照deptno值尽量存放到同一个物理块当中。
--ORACLE中的聚簇表是指两个表有一个字段完全相同,并且在业务中经常会按这个字段为目标连接这两个表,这时建立聚簇表,
--两个表公用一个字段,能减少占用空间,并能明显提高连接查询速度。
CREATE CLUSTER emp_dept_cluster(deptno number(6))SIZE 1024;
前一篇:Oracle 位图索引
后一篇:Oracle 函数索引