MySql 一条普通的查询语句 你知道需要执行几次树的搜索操作以及会扫描多少行吗??? MySql 索引覆盖
在码农的世界里,优美的应用体验,来源于程序员对细节的处理以及自我要求的境界,年轻人也是忙忙碌碌的码农中一员,每天、每周,都会留下一些脚印,就是这些创作的内容,有一种执着,就是不知为什么,如果你迷茫,不妨来瞅瞅码农的轨迹。
- 优美的音乐节奏带你浏览这个效果的编码过程
- 坚持每一天,是每个有理想青年的追求
- 追寻年轻人的脚步,也许你的答案就在这里
- 如果你迷茫 不妨来瞅瞅这里
在这里,有一张存有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 索引覆盖相关推荐
- MySql 一条普通的查询语句 你知道如何优雅的使用 前缀索引、索引下推优化查询速度吗?
在码农的世界里,优美的应用体验,来源于程序员对细节的处理以及自我要求的境界,年轻人也是忙忙碌碌的码农中一员,每天.每周,都会留下一些脚印,就是这些创作的内容,有一种执着,就是不知为什么,如果你迷茫,不 ...
- 一条SQL查询语句是如何执行的? MySql杂谈
在码农的世界里,优美的应用体验,来源于程序员对细节的处理以及自我要求的境界,年轻人也是忙忙碌碌的码农中一员,每天.每周,都会留下一些脚印,就是这些创作的内容,有一种执着,就是不知为什么,如果你迷茫,不 ...
- 怎么做mysql查询系统_mysql数据库系统学习(一)---一条SQL查询语句是如何执行的?...
一.第一节:一条sql查询语句是怎样执行的 5.5.5版本以后,默认使用存储引擎为InnoDB 不使用查询缓存,MySQL8.0没有查询缓存这个功能 总体来说:MySQL分为service层和存储引擎 ...
- 【mysql技术内幕1】mysql基础架构-一条SQL查询语句是如何执行的
文章目录 1 一条SQL查询语句是如何执行的 2 mysql体系结构 3 InnoDB存储引擎 4 总结 1 一条SQL查询语句是如何执行的 通常我们使用数据库,都是将数据库看成一个整体,我们的应 ...
- mysql查询前几笔sql语句_mysql开发常用的几条sql查询语句
mysql开发常用的几条sql查询语句 有需要的朋友可参考一上. 1.计算年龄 如果你有一个人的生日而需要计算这个人的年龄,将下列语句中@dateofbirth替换为生日即可 代码如下 SELECT ...
- mysql怎么查看刷脏页慢_一条SQL查询语句极为缓慢,如何去优化呢
一条 SQL 查询语句执行的很慢,那是每次查询都很慢呢?还是大多数情况下是正常的,偶尔出现很慢呢?可以分以下两种情况来讨论. 大多数情况是正常的,只是偶尔会出现很慢的情况. 在数据量不变的情况下,这条 ...
- 一条SQL查询语句的执行过程,一张图说清SQL查询语句执行过程
一张图说明 一条SQL查询语句的执行过程 一条sql语句从发送到数据库到它执行完成并返回结果,主要经历以下几个过程: 连接器->查询缓存(如果开启了查询缓存,则会经过这一步,但是大多数情况下都是 ...
- 听说你写sql很溜,一条sql查询语句是如何执行的?
我们项目中必不可少要与数据库接触,那么一条sql查询语句是如何执行的呢? 本文以MySQL数据库为例.MySQL是典型的C/S架构(client客户端/server服务端),客户端进程向服务端进程发送 ...
- mysql日期与时间查询语句:查询当年、查询本年、查询当月、查询本周
mysql日期与时间查询语句:查询当年.查询本年.查询当月.查询本周 select sum(1) as years, (select sum(1) from `表名` where date_forma ...
最新文章
- arcgis与python_Arcgis-ModelBuilder和Python学习
- GIT Windows服务端搭建笔记
- linux nand 坏块_Nand Flash 中的坏块(Bad Block)
- NQueens, NQueens2 N皇后问题,递归回溯
- Bing Maps进阶系列八:在Bing Maps中集成OpenStreetMap地图
- FPGA IP核分类
- 最bt的搜索引擎插件!
- CF55D: Beautiful Number
- 压力传感器的常见螺纹
- 现代交换技术--交换概论
- 四旋翼无人机飞控系统设计(方案篇)
- C#导出图片到EXCEL|【NPOI】导出Excel带图片
- 俺压箱底的导航网站推荐
- 独立开发仿造一个开关机器人
- python实现微信自动加群_为Python开发人员提供实时代码片段,Kite获1700万美元A轮融资...
- java-计算球体积
- AutoCAD二次开发多段线分割、添加顶点
- 程序员怎么写出亮眼的简历?
- 费诺编码C程序及演示结果
- 【Oracle】SQL字符串查找_精确查询,只要23不要234