oracle数据库hash分区配合local索引的性能问题

文章指出在ORACLE数据库中,使用hash分区配合local索引可能会导致性能下降,因为查询时可能无法有效进行分区消除,需要访问多个local索引段,增加了逻辑读和物理读。建议使用global索引以优化查询效率。Oracle推荐分区数为2的幂,以实现更均匀的数据分布。
摘要由CSDN通过智能技术生成

     在实践中ORACLE数据库hash分区配合local索引会引发性能问题。

     通常相关指标为hash分区表不得有本地(local)索引。

Hash分区是通过对分区键运用Hash算法从而决定数据的分区归属。

     常用的分区表所具有的优点:如提高数据可用行,减少管理负担,改善语句性能等优点,hash分区同样拥有。此外,由于Hash分区表是按分区键的hash计算结果来决定其分区的,而特定的分区键其hash值是固定的,也就是说Hash分区表的数据是按分区键值来聚集的,同样的分区键肯定在同一分区。

     Hash分区表是通过add partition命令来增加分区的。Oracle推荐分区的个数是2的幂,比如,2,8..等等,这样可以确保数据在各个分区中分布比较均匀。当然,如前所述,还需要分区键值是连续分布的,或接近连续分布。

     hash分区表不得有本地(local)索引,本地分区索引将降低查询速度。

      hash分区与local索引配合效果不佳,hash分区导致查询条件往往难以进行分区消除,配合local索引的情况,则需访问多个local索引段,导致查询的逻辑读、物理读高。建议使用global索引配合hash分区。

更多内容请关注公众号“测试小号等闲之辈”~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值