mysql 索引使用与优化

mysql 索引使用与优化mysql 索引使用与优化

前言

索引对有一定开发经验的同学来说并不陌生,合理使用索引,能大大提升sql查询的性能,可以这么讲,随着业务数据量的不断增长,优化系统的响应速度,很大程度上可以说就是集中在索引的优化上;

mysql索引原理

在正式了解与学习mysql索引之前,先对mysql的索引原理再次回顾下;

我们知道,目前大多数使用的mysql引擎为 innodb,而innodb引擎使用的是 B+ Tree,下面通过几张图快速了解下 B+ Tree的结构,

假如存在下面这张表:

在这里插入图片描述

那么通过 B+ Tree构建出来的 “ 以ID为主键索引 ” 的树形结构如下:

在这里插入图片描述

说明:

  • 叶子节点存放的是ID对应的一条完整的记录;
  • 查找一条记录时,如果是按照ID搜索,则会采用类似二叉树的方式,最终定位到叶子节点的ID对应的那条记录;

也就是说,如果查询的时候,以ID为参数,则效率是最高的,反之,如果以非主键字段,建立索引,则B+Tree的索引结构将会如下,

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/226006.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 上午8:03
下一篇 2026年3月17日 上午8:04


相关推荐

  • RAID 磁盘阵列 详解[通俗易懂]

    RAID 磁盘阵列 详解[通俗易懂]RAID,Redundant Arrays of Independent Disks的简称,独立磁盘冗余阵列,简称磁盘阵列。 磁盘阵列其实也分为软阵列 (Software Raid)和硬阵列 (Hardware Raid) 两种.  软阵列:即通过软件程序并由计算机的 CPU提供运行能力所成. 由于软件程式不是一个完整系统故只能提供最基本的 RAID容错功能. 其他如热备用硬盘的设置,

    2022年6月9日
    64
  • js获取url后面的参数

    js获取url后面的参数leturl window location href http localhost 3000 edu edu teacher type 2 amp a 3if url indexOf 1 letobj letarr url slice url indexOf 1 split amp arr forEach item gt letparam item split

    2026年3月18日
    2
  • ES6 Promise用法小结

    ES6 Promise用法小结目录1.什么是Promisereject的用法catch的用法all的用法race的用法1.什么是PromisePromise是异步编程的一种解决方案,其实是一个构造函数,自己身上有all、reject、resolve这几个方法,原型上有then、catch等方法。Promise对象有以下两个特点。(1)对象的状态不受外界影响。Promise对象代表一个异步操…

    2022年6月12日
    35
  • html的display属性

    html的display属性block 标签 比如 div 默认独占一行显示 撑满一行 高度为 0 支持所有 css 命令设置了宽度后 后面剩余的宽度还是会占一行 只是不显示属性 display 可以改变标签的标签的属性 inline 内嵌 标签 比如 span 不占一行显示 后面可以继续跟同类型标签内容撑开宽度不支持宽高不支持上下的 margin 和 padding 代码换行被解析属性 display 可以改变标签的标签的属性

    2026年3月19日
    2
  • 从零开始构建一个简单的 AI Agent 框架:完整新手教程

    从零开始构建一个简单的 AI Agent 框架:完整新手教程

    2026年3月17日
    2
  • 360常用快捷键_10个常用的快捷键

    360常用快捷键_10个常用的快捷键“工欲善其事必先利其器”,整理了一份360常用快捷键。======================================常用快捷键======================================Ctrl+小键盘“+”当前页面放大10%Ctrl+小键盘“-”当前页面缩小10%——————-…

    2025年6月8日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号