在码农的世界里,优美的应用体验,来源于程序员对细节的处理以及自我要求的境界,年轻人也是忙忙碌碌的码农中一员,每天、每周,都会留下一些脚印,就是这些创作的内容,有一种执着,就是不知为什么,如果你迷茫,不妨来瞅瞅码农的轨迹。

  • 优美的音乐节奏带你浏览这个效果的编码过程
  • 坚持每一天,是每个有理想青年的追求
  • 追寻年轻人的脚步,也许你的答案就在这里
  • 如果你迷茫 不妨来瞅瞅这里

在这里,有一张存有300多万条数据的表,你知道接下来会发生什么吗 ?

一条普通的SQL查询如下:

select id from question_wrong where user_id between 740 and 770

你看到的结果如下图所示

你知道需要执行几次树的搜索操作以及会扫描多少行吗?

如下所示,是这个表的建表语句,一个主键索引,有个普通索引

CREATE TABLE question_wrong(id BIGINT(20) PRIMARY KEY ,user_id BIGINT(20) NOT NULL DEFAULT 0 ,question_info VARCHAR(16) NOT NULL DEFAULT '' ,INDEX index_user_id(user_id)
) ENGINE = INNODB;

当执行下面的查询语句时,它的执行流程如下图所示:

select id from question_wrong where user_id between 740 and 770

  • 第一步 在 user_id 索引树上找到 uer_id=740 的记录,取得 ID = 1001
  • 第二步 再到 ID 索引树查到 ID=1001 对应的 C1行数据
  • 然后第三步 在 user_id 索引树上找到 uer_id=770 的记录,取得 ID = 1010
  • 再回到 ID 索引树查到 ID=1010 对应的 C1行数据
  • 然后再回到 在 user_id 索引树上找到 uer_id=771 的记录,不满足条件,循环结束

在这个查询过程中,回主键索引表查询的过程为回表过程,这个查询过程,执行了两次回表,如当前这个查询中只期望查询返回ID这一列,而ID的值在user_id的索引树上,不需要回表查询也能获取到这个值,这种现象被称为覆盖索引,如果查询返回的列信息还有其他的,那必然得执行回表操作。


完毕

不局限于思维,不局限语言限制,才是编程的最高境界。

以小编的性格,肯定是要录制一套视频的,随后会上传

有兴趣 你可以关注一下 西瓜视频 — 早起的年轻人

MySql 一条普通的查询语句 你知道需要执行几次树的搜索操作以及会扫描多少行吗??? MySql 索引覆盖相关推荐

  1. MySql 一条普通的查询语句 你知道如何优雅的使用 前缀索引、索引下推优化查询速度吗?

    在码农的世界里,优美的应用体验,来源于程序员对细节的处理以及自我要求的境界,年轻人也是忙忙碌碌的码农中一员,每天.每周,都会留下一些脚印,就是这些创作的内容,有一种执着,就是不知为什么,如果你迷茫,不 ...

  2. 一条SQL查询语句是如何执行的? MySql杂谈

    在码农的世界里,优美的应用体验,来源于程序员对细节的处理以及自我要求的境界,年轻人也是忙忙碌碌的码农中一员,每天.每周,都会留下一些脚印,就是这些创作的内容,有一种执着,就是不知为什么,如果你迷茫,不 ...

  3. 怎么做mysql查询系统_mysql数据库系统学习(一)---一条SQL查询语句是如何执行的?...

    一.第一节:一条sql查询语句是怎样执行的 5.5.5版本以后,默认使用存储引擎为InnoDB 不使用查询缓存,MySQL8.0没有查询缓存这个功能 总体来说:MySQL分为service层和存储引擎 ...

  4. 【mysql技术内幕1】mysql基础架构-一条SQL查询语句是如何执行的

    文章目录 1 一条SQL查询语句是如何执行的 2 mysql体系结构 3 InnoDB存储引擎 4 总结 1 一条SQL查询语句是如何执行的 ​ 通常我们使用数据库,都是将数据库看成一个整体,我们的应 ...

  5. mysql查询前几笔sql语句_mysql开发常用的几条sql查询语句

    mysql开发常用的几条sql查询语句 有需要的朋友可参考一上. 1.计算年龄 如果你有一个人的生日而需要计算这个人的年龄,将下列语句中@dateofbirth替换为生日即可 代码如下 SELECT ...

  6. mysql怎么查看刷脏页慢_一条SQL查询语句极为缓慢,如何去优化呢

    一条 SQL 查询语句执行的很慢,那是每次查询都很慢呢?还是大多数情况下是正常的,偶尔出现很慢呢?可以分以下两种情况来讨论. 大多数情况是正常的,只是偶尔会出现很慢的情况. 在数据量不变的情况下,这条 ...

  7. 一条SQL查询语句的执行过程,一张图说清SQL查询语句执行过程

    一张图说明 一条SQL查询语句的执行过程 一条sql语句从发送到数据库到它执行完成并返回结果,主要经历以下几个过程: 连接器->查询缓存(如果开启了查询缓存,则会经过这一步,但是大多数情况下都是 ...

  8. 听说你写sql很溜,一条sql查询语句是如何执行的?

    我们项目中必不可少要与数据库接触,那么一条sql查询语句是如何执行的呢? 本文以MySQL数据库为例.MySQL是典型的C/S架构(client客户端/server服务端),客户端进程向服务端进程发送 ...

  9. mysql日期与时间查询语句:查询当年、查询本年、查询当月、查询本周

    mysql日期与时间查询语句:查询当年.查询本年.查询当月.查询本周 select sum(1) as years, (select sum(1) from `表名` where date_forma ...

最新文章

  1. arcgis与python_Arcgis-ModelBuilder和Python学习
  2. GIT Windows服务端搭建笔记
  3. linux nand 坏块_Nand Flash 中的坏块(Bad Block)
  4. NQueens, NQueens2 N皇后问题,递归回溯
  5. Bing Maps进阶系列八:在Bing Maps中集成OpenStreetMap地图
  6. FPGA IP核分类
  7. 最bt的搜索引擎插件!
  8. CF55D: Beautiful Number
  9. 压力传感器的常见螺纹
  10. 现代交换技术--交换概论
  11. 四旋翼无人机飞控系统设计(方案篇)
  12. C#导出图片到EXCEL|【NPOI】导出Excel带图片
  13. 俺压箱底的导航网站推荐
  14. 独立开发仿造一个开关机器人
  15. python实现微信自动加群_为Python开发人员提供实时代码片段,Kite获1700万美元A轮融资...
  16. java-计算球体积
  17. AutoCAD二次开发多段线分割、添加顶点
  18. 程序员怎么写出亮眼的简历?
  19. 费诺编码C程序及演示结果
  20. 【Oracle】SQL字符串查找_精确查询,只要23不要234

热门文章

  1. YOLO 系目标检测算法家族全景图!
  2. 华为云发起美食图片分类大赛!奖品丰厚还可免费使用云资源
  3. 视觉推理新杀器!英特尔新一代VPU性能翻10倍,反超英伟达
  4. Kaggle新上比赛-鲸鱼图像识别-总奖池17.4万人民币
  5. 医疗设备-呼吸机-数据解析
  6. 综述 | 万字长文带你入门近几年深度学习的重要研究成果
  7. 独家总结 | 决策树算法Python实现(附代码详解及注释)
  8. 深度强化学习-DDPG算法原理和实现
  9. 你知道应聘上一份机器学习的工作需要哪些条件吗?
  10. 服务器项目有哪些,怎么部署项目到服务器?服务器的特性有哪些?