设计oracle cluster

来源:互联网 发布:新淘宝直通车怎么开通 编辑:程序博客网 时间:2024/06/05 08:10

       cluster,也就是聚集,简单来说就是把多个表的数据行保存在同一个数据块中。在建立cluster之前需要考虑一下下面的问题。

一、选择合适的table

      1、聚集中的表经常被同时查询或连接;
      2、这些表并没有被频繁地被插入或更新;

二、选择合适的列作为cluster key

      一个好的cluster key应该拥有足够的唯一值,这样的话一个cluster key就可以很好地充满数据块。如果该cluster key拥有的数据行很少,则数据块的填充率就会很低,导致空间的浪费;如果一个cluster key 对应的数据行很多,比如sex有male和female两种类别,则就会对应大量的数据行,这种结果跟没有建立聚集的堆表一样没有效率。

     另外就是选择的列经常被连接或当作谓词,这样才会在查询的时候很好的发挥cluster的优势。

三、聚集表和聚集索引的位置

      聚集表和聚集索引通常可以分别存储在不同的表空间中,如果聚集表和聚集索引可以存储在不同的存储设备中,则可以提高并发性,减少磁盘竞争,从而提高效率。

四、空间

       建立聚集之前需要估计聚集可能会使用到的空间,设置SIZE和STORAGE参数。

五、创建hash cluster

        在oracle 中有index cluster和hash cluster两种。在下面的情况下,比较适合创建hash cluster:

1、谓词为cluster key的等值比较,而不等值比较将会使用不到hash;

2、表的插入与更新操作比较少;

原创粉丝点击