表簇(table cluster)是一个数据库对象,它可以将那些经常在相同数据块中一起使用的表进行物理分组。当你处理那些经常连接在一起进行查询的表时,表簇是特别有效的。一个表簇存储簇键(用于将表连接到一起的列),以及簇表中的列值。因为簇中的表都被储存在相同的数据库块中,所以使用簇工作时,I/O操作就减少了。
有关表簇的详细用法,你还是查看一下有关书籍吧。

解决方案 »

  1.   

    那是不是说,如果我有两个表,这两个表通过某个字段有外键
    我经常要执行类似:
    select a.*,b.* from a,b where a.name=b.name(+)
    这样的查询的时候,就应该把这两个表通过name字段建立在一个簇上?
      

  2.   

    qiuyang_wang(小数点)说的有道理,但不知这方面的资料哪里有?
    我看了oracle8i DBA宝典,上面也只是提了一下。
      

  3.   

    使用典型数据簇的目的是为了在硬盘上将应用程序经常一起使用的行存储在一块,当应用程序请求这组行时,oracle只用一个或几个硬盘I/O就能找到所有被请求的行。
      

  4.   

    通俗一点将,如果你的select语句里面经常用到带group的计算时,用聚簇索引最好,比如你要统计几年以来某一类产品的销量。如果你的有一张表,寸有班上同学的姓名及学号,由于学号是唯一的(即散列值教大),对学号列用聚簇索引效果就差。
      

  5.   

    不推荐使用cluster indexes
    除非有多表共用字段并做表连接,并且表记录很少发生变化!