为什么加了索引sql性能提高好几倍?

本文探讨了MySQL索引如何显著提高SQL查询性能,重点介绍了InnoDB引擎的B+树索引机制,包括普通索引和主键索引的区别,以及为何要遵循最左前缀原则。通过理解这些原理,可以更好地进行SQL优化。
摘要由CSDN通过智能技术生成

在我们日常开发中,针对mysql的sql优化,最简单、最常用的方式就是为查询条件加索引。那么为什么加个索引,sql的性能就能有明显的提升呢?这是因为针对没有索引的sql语句,查询是在磁盘中全表扫描过滤的,我们知道计算机中磁盘性能是最低的,相对于CPU和内存来说,慢的可不是一点半点。那么索引中是怎么查询过滤的呢?索引中其实是采用了B+树的方式,在内存中过滤完数据之后,才到磁盘中获取具体的数据,相对于在磁盘中过滤来说,性能当然会提高很多。我们来看一下具体的索引过滤方式。

(想自学习编程的小伙伴请搜索圈T社区,更多行业相关资讯更有行业相关免费视频教程。完全免费哦!)

mysql索引

mysql中的不同存储引擎的存储方式是不同的,例如,在InnoDB引擎中使用的是聚簇索引,myISAM使用的是非聚簇索引。关于聚簇索引和非聚簇索引的区别我们后面会说到,这里主要说一下InnoDB中的索引。InnoDB索引类型有很多,大致分为两大类,一种是主键索引,一种是普通索引。之所以分为这两种,是因为他们在查询过滤的过程中不太一样。其他的索引后面会讲到。

普通索引

在这里插入图片描述
如上图所示,我们看到在普通索引中,索引是以B+树的形式存储的,先大概介绍下B+树。B+树的每个节点可以存储多

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值