Oracle 模式对象——聚簇(Clusters)

http://docs.oracle.com/cd/B28359_01/server.111/b28318/schema.htm#autoId75

 

本文内容

  • 聚簇
  • 管理聚簇涉及的方面
  • 参考资料

 

聚簇


聚簇是一种存储表数据的可选方法。聚簇是共享相同数据块的一组表。因为,它们有共同的列,并经常一起使用。

例如,Oracle  HR 模式的 employeesdepartments 表都具有 department_id 列。当聚簇 employeesdepartments 表时,Oracle 数据库在物理上存储所有的行,两个表中每个部门的每个员工都存储在相同的数据块。

如图 1 所示,当聚簇 employeesdepartments 表时,发生的事情:

图 1 聚簇 Oracle HR 模式 employees 和 departments 表

cncpt023

类似地,聚簇 Oracle SCOTT 模式 emp dept 表,如图 2 所示。

图 2 聚簇 Oracle SCOTT 模式 emp 和 dept 表

admin021

可以看到,聚簇对表连接的性能很有帮助。

聚簇把不同表的相关数据行存储在相同的数据块,正确地使用聚簇可以获得如下好处:

  • 连接已聚簇的表,可以减少磁盘 I/O 。
  • 连接已聚簇的表,可以改善访问。
  • 在一个聚簇中,一个聚簇键值是对一个特定行的聚簇键列的值。每个聚簇键值在聚簇和聚簇索引中只被存储一次,无论不同表的行包含多少值。因此,与非聚簇的表相比,需要更少的存储空间来存储相关的表和索引。例如,上图所示,每个聚簇键(每 department_id)对于在 employeesdepartments 表包含相同值的很多行只存储一次。

 

管理聚簇涉及的方面


  • 为聚簇选择适当的表
  • 为聚簇键选择适当地列
  • 指定一个平均聚簇键和相关行所需的空间
  • 指定每个聚簇和聚簇索引行的位置
  • 估计聚簇大小并设置存储参数

 

参考资料


o_r_%E7%BF%BB%E8%AF%91.jpg

o_%E5%8E%9F%E5%88%9B.jpg

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值