为什么索引可以提高效率?

本文探讨了数据库索引如何提高查询效率,强调了索引的有序性以及一个SQL语句只能使用一个索引的事实。通过实例分析了复合索引的作用,特别是在高访问量和高频率查询场景下,如何通过创建area+sex+lastlogin的复合索引来优化查询性能。explain关键字的使用也被提及,以帮助理解索引对查询结果集的影响。
摘要由CSDN通过智能技术生成

为什么索引可以提高效率?

  对于索引的应用比较常见,索引的底层数据结构也有一定的了解,但是一直在思考为什么索引会提高效率,后来,参考网上的文章,终于得到解释。

 

============================================================

  本文只针对mysql进行相关方面的说明。

  首先我要问,“数据索引是有序无序的?”。答:“当然是有序的了。”

  再问,一个SQL语句可以有几个索引?你先别往下看结果,你这想下,可以使用几个索引呢?正确的是:“1个”。有人肯定会疑惑。对,当初我接受这个概念也是挺纳闷的,后来在实际中得到了解答。那么,你需自己找答案了。

  在有序的情况下,通过索引查询一个数据是无需遍历索引记录的;

  极端情况下,数据索引的查询效率为二分法查询效率,趋近于 log2(N);

  在进行索引分析和SQL优化时,可以将数据索引字段想象为单一有序序列,并以此作为分析的基础。

  如以下的SQL,如何进行优化呢?

1
select 
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值