zoukankan      html  css  js  c++  java
  • 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 表包含相同值的很多行只存储一次。

    管理聚簇涉及的方面


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

    参考资料


  • 相关阅读:
    设计模式
    刷新所有视图存储过程
    js杨辉三角控制台输出
    2018申请淘宝客AppKey
    w3c标准 dom对象 事件冒泡和事件捕获
    promise原理
    vue virtual Dom
    css学习
    seo优化
    新概念学习
  • 原文地址:https://www.cnblogs.com/liuning8023/p/2655953.html
Copyright © 2011-2022 走看看