Oracle-索引

本文介绍了Oracle数据库中索引的作用,包括提高查询效率、确保数据唯一性和加速表间连接。同时,文章讨论了索引的优缺点,如占用额外空间和影响DML操作速度。根据数据量和查询需求,提出了何时何地建立索引的建议。此外,文章还详细讲解了索引的分类,如B树和位图索引,以及创建、修改和删除索引的方法。
摘要由CSDN通过智能技术生成

我们为什么需要索引?

  数据库的数据量一旦大起来,可以想象查询时如大海捞针一般,需要很长时间才能找到对应的数据。如何提高大数据量时的查询效率呢?一谈到这种话题,可以很自然联想到冒泡排序、二分法等等,如何实现、哪种更好,还是挺让人头痛的问题。

  还在Oracle已经为我们解决了这种头痛,我们只需要使用Oracle提供的“索引”就好。为字段添加了索引,在查询时则会通过特定算法来提高查询效率。

索引的优缺点

  既然加了索引,就可以提高查询效率,那是不是我们给表的每个字段都加上索引,就一劳永逸了呢?。当然不是,索引虽好,但也有弊端。

  索引的优点

  • 1.可以加快检索数据的速度
  • 2.使用唯一索引可以确保每行数据的唯一性
  • 3.今天加快表与表之前连接查询的速度
  • 4.可以明显减少分组查询和排序查询的时间

  索引的缺点

  • 1.索引需要占用额外的物理空间
  • 2.增、删、改数据时,需要动态的进行维护,降低DML操作的速度

  那么我们什么时候,在哪里建议使用索引呢

  • 1.数据量小的表不需要建索引(量数据十万内,取决于服务器配置)。
  • 2.经常查询的数据值的记录目数,少于表的总目数的15%。
  • 3.大部分列值都不重复的列可以建索引。
  • 4.基数大的列适合建B数索引,基数小的列适合建位图索引。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值