设计oracle cluster

       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、表的插入与更新操作比较少;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值