1,簇
有公共列的两个或多个表的集合
簇表中的数据存储在公共数据块中
2,簇键
簇中行的唯一标识符
用于获取行
3,创建簇
应首先创建簇,然后创建组成簇的表
CREATE CLUSTER 语句用于创建簇
优点
减少磁盘I/O
节省磁盘空间(表的公共列存储在簇中)
缺点
向表中插入数据时性能降低
有主外键关系的表,可以考虑创建簇,把公共的列放到簇中
4,创建簇的详细例子
--创建簇数据(把公共列创建到簇中)
create cluster cluster_ClassNo
(
vClassNo varchar2(10)
)tablespace users;
--为簇键创建簇索引
create index idxClusterClassNo on cluster cluster_ClassNo;
--创建簇表(主键表、外键表)
//创建主键表——班级表
create table classes
(
vClassNo varcahr2(10),
vClassName varchar2(20)
)cluster cluster_ClassNo(vClassNo);
//创建外键表——学生表
create table students
(
vStudentNo varchar2(10),
vStudentName varchar2(20),
vClassNo varchar2(10)
)cluster cluster_ClassNo(vClassNo);
--撤消簇
drop cluster cluster_ClassNo including tables;
————————————————————————————————
————————————————————————————————
SQL> create cluster cluster_ClassNo
2 (
3 vClassNo varchar2(10)
4 )tablespace users;
已创建数据簇。
SQL> create index idxClustClassNo on cluster cluster_ClassNo;
索引已创建。
SQL> create table classes
2 (
3 vClassNo varchar2(10),
4 vClassName varchar2(20)
5 )cluster cluster_ClassNo(vClassNo);
表已创建。
SQL> create table students
2 (
3 vStudentNo varchar2(10),
4 vStudentName varchar2(20),
5 vClassNo varchar2(10)
6 )cluster cluster_ClassNo(vClassNo);
表已创建。
SQL> drop cluster cluster_ClassNo including tables;
数据簇已丢弃。
本文介绍Oracle数据库中的簇(cluster)概念及应用,通过将经常一起访问的表存储在一起以减少磁盘I/O次数,提高查询效率。文章详细讲解了簇的创建步骤,并提供了实例。
243

被折叠的 条评论
为什么被折叠?



