深入理解Oracle索引(14):Composite Index 两大原理解析

     声明:虽然题目是Oracle、但同样适合MySQL InnoDB索引
     
     在大多数情况下、复合索引比单字段索引好
     很多系统就是靠新建一些合适的复合索引、使效率大幅度提高
     复合索引比单字段索引复杂、有两个原则需把握:前缀性和可选性
     但是、可叹的是、国内很多IT系统开发人员没有意识到应该优先设计复合索引
     更没有充分理解复合索引的前缀性和可选性这两个重要原则
     
     
㈠ 前缀性(Prefixing)
        
          在谓词条件中、只有将复合索引的第一个字段作为约束条件、该复合索引才会被用上
          当然、存在一种例外:Index Skip Scan 
        
          这个原理强调 使用
        
          比如:
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Oracle索引是一种用于加速数据检索的数据结构。它的作用是提高查询效率,减少查询所需的时间和资源。 Oracle索引原理是基于B树或B+树的数据结构。树状结构使得索引能够在非常短的时间内定位到需要查询的数据块,大大提高了查询的效率。索引按照某种字段或多个字段的值进行排序,并存储了字段值与对应数据块的映射关系。当查询时,Oracle数据库系统会首先搜索索引树,定位到相应的索引节点,然后通过索引节点找到对应的数据块。 使用索引进行查询时,Oracle会首先确定查询条件中涉及到的字段是否有对应的索引。如果有索引,则使用索引定位到数据块,然后进行数据读取;如果没有索引,则需要进行全表扫描,逐行检查所有数据,查询效率较低。 索引的设计需要根据具体的业务需求和查询模式进行,通常选择经常作为查询条件的字段作为索引列,以提高查询效率。但是索引也会增加数据的存储空间和数据维护的开销,所以需要权衡索引的数量和使用的场景。 在使用索引时,还需要注意避免对索引列进行频繁的更新和删除操作,因为这会导致索引的维护成本增加并且可能造成索引失效。当需要进行大量的数据修改时,可以考虑临时禁用索引,待数据修改完成后再重新启用索引。 综上所述,Oracle索引通过采用树状结构和映射关系,提高查询效率和减少资源消耗。合理设计和使用索引可以大大提高数据库的查询性能。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值