前言

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

mysql索引原理

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

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

假如存在下面这张表:

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

说明:

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

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

mysql 索引使用与优化相关推荐

  1. MySQL索引分析和优化(转)

    MySQL索引分析和优化(转) 索引用来快速地寻找那些具有特定值的记录,所有MySQL索引都以B-树的形式保存.如果没有索引,执行查询时MySQL必须从第一个记录开始扫描整个表的所有记 录,直至找到符 ...

  2. (2)Mysql索引原理和优化总结

    Mysql设计原理栏目总结 (1)Mysql架构和常用引擎介绍 (2)Mysql索引原理和优化总结 1.索引理解和常见面试题 (1)本质 索引是一种能够高效获取数据的数据结构 索引存放在硬盘上 (2) ...

  3. Mysql 索引原理及优化

    本文内容主要来源于互联网上主流文章,只是按照个人理解稍作整合,后面附有参考链接. 一.摘要 本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题.特别需要说明的是,MySQL支持诸多存储引 ...

  4. mysql索引分析和优化_MySQL索引分析和优化

    什么是索引? 索 引用来快速地寻找那些具有特定值的记录,所有MySQL索引都以B-树的形式保存.如果没有索引,执行查询时MySQL必须从第一个记录开始扫描整个表的 所有记录,直至找到符合要求的记录.表 ...

  5. 深入理解MySQL索引设计和优化原则

    索引类型 探讨索引设计和优化原则之前,先给大家熟悉一下索引类型: 主键索引PRIMARY KEY:它是一种特殊的唯一索引,不允许有空值.一般是在建表的时候同时创建主键索引. 唯一索引UNIQUE:唯一 ...

  6. 来一份MySQL索引数据结构及优化清单

    点击上方"后端技术精选",选择"置顶公众号" 技术文章第一时间送达! 作者:PeTu www.jianshu.com/p/a935dd9edf04 一.mysq ...

  7. Mysql索引,SQL优化

    注:此文部分内容来自b站黑马程序员mysql高级课程 1. 索引 1.1 索引概述 MySQL官方对索引的定义为:索引(index)是帮助MySQL高效获取数据的数据结构(有序).在数据之外,数据库系 ...

  8. MySQL索引,SQL优化一网打尽

    2-3W字长文警告!!!! 索引概述 MySQL官方对索引的定义为:索引(index)是帮助MySQL高效获取数据的数据结构(有序).在数据之外,数据库系统还维护者满足特定查找算法的数据结构,这些数据 ...

  9. MySQL索引及其SQL优化

    文中将分为四个方面去了解一下MYSQL5.7 1,mysql索引的数据结构 1.1 索引的定义 索引是帮助MySQL高效获取数据的排好序的数据结构,索引是一个排序的列表,在这个列表中存储着索引的值和包 ...

最新文章

  1. Box2dの自定义多边形
  2. XML之父愤然离职亚马逊!看不惯公司疫情期间种种作为,百万年薪不要了
  3. 希望增加的BLOG功能——GOOGLE广告
  4. 执行setenv ethaddr的时候提示Can't over write的原因及解决方法
  5. Logistic Regression Classifier逻辑回归
  6. jsp基础速成精华讲解
  7. C/C++(变量作用域)
  8. Beta冲刺提交-星期五
  9. 同义词转换不再有效_1秒变电脑,手机吃鸡新体验,北通E1键鼠转换器上手体验!...
  10. 【人因工程】认知行为可靠性评价浅谈
  11. 安装了linux后win10键盘失灵,win10系统安装后笔记本键盘失灵不能用的解决方法
  12. [跟进]_微软关闭MSN博客,腾讯第一时间抢占市场
  13. win7系统安装网银助手时提示您尚未正确安装错误的两种解决方法图文教程
  14. 浪潮存储实至名归,通用存储用户评测排名全球榜首
  15. 8255芯片控制发光二极管模拟步进电机汇编实验
  16. openstack搭建问题
  17. 国内木兰造假!国外无一入选顶会!论两极分化下的编程语言研究
  18. linux下安装hadoop步骤
  19. 遥感数据集的下载记录——MODIS产品为主
  20. iOS中boolean、Boolean、BOOL、bool的区别

热门文章

  1. Self-training with Noisy Student improves ImageNet classification论文解析
  2. Cocos Creator 开发QQ玩一玩入门到放弃?
  3. Uncaught TypeError: Object [object Object] has no method 错误
  4. win10应用商店不见了怎么办
  5. 2023大厂招聘岗位数预测!明年哪些公司可以去?
  6. 第三代酷睿i3处理器_最便宜的英特尔酷睿i3笔记本电脑现在面向企业用户
  7. ssdb java_hydrogen-ssdb
  8. 天体物理导论复习提纲
  9. css的排版连起来跟全部竖着的区别,CSS实现文字竖排排版
  10. 微信自带的翻译功能,让你与外国朋友轻松沟通