MySql-一条查询SQL语句的执行
MySql-一条查询SQL语句的执行
你好! 感谢您花费几分钟的时间阅读本篇博客,本人写的是方便学习与记录,要是有错误的地方请您指出,感谢
1 缓存
这个的缓存不是指Redis,或者Mybatis的缓存我们常见的缓存,其实MySQL自带了缓存模块,但是我们几乎从来没有用过他,甚至在MySQL8.0直接就给去掉了,所以一定有他的局限性,大家可以查阅一下,但是确实是存在的。如果开启的话,所以一个查询SQL先会查询缓存
2 解析
我们没有使用缓存的话,就会跳过缓存的模块,那么接下来我们就应该通过MySQL解析器分析sql的语法与词法是否合乎规范,并且会按照Mysql的语法规则,根据SQL语句生成解析树
当我们解析完成之后,并不知道该sql查询的表名或者字段是否存在,所以MySQL种的预处理器会检查解析树表名与列名是否正确,之后得到一个新的解析树。
3 优化
查询优化器的目的就是根据解析树生成不同的执行计划,然后选择一种最优的执行计划,MySQL 里面使用的是基于开销(cost)的优化器,那种执行计划开销最小,就用哪种。
4 执行存储引擎,返回结果
得到一个执行计划之后,我们的sql语句是不是终于可以执行了,那么又又有新的问题了,执行计划是谁,在哪执行,谁去执行?
数据库中的一个表,我们可以把他理解成一个Excel电子表格的形式,所以我们的表在存储数据的同时,还要组织数据的存储结构,这个结构就是我们的存储引擎决定的。
存储引擎我们要注意,是表的类型而非数据库的类型,一个数据库当中可以有多种表的存储引擎
如图,在设计表种我们可以修改表的存储引擎
然后我们通过执行存储引擎 ,获取数据,返回到客户端
MySql-一条查询SQL语句的执行相关推荐
- MySQL的基础架构以及一条查询sql语句的执行流程
详细介绍了Mysql的基础架构以及一条查询sql的执行流程. 如果不想作为一个只能简单的写写sql工程师,而是想要深入的学习MySQL,那么我们有必要首先从宏观的角度来了解MySQL的整体架构,只有把 ...
- mysql 输出判断,mysql判断_mysql判断SQL语句是否执行成功的方法
摘要 腾兴网为您分享:mysql判断SQL语句是否执行成功的方法,中国体育,智慧党建,月星家居,虚拟按键等软件知识,以及闪点卡密,proxycap,大众车联网,平顶山软件,人格测试,ok支付,美图秀秀 ...
- mysql多表查询sql语句怎么写_MySQL基本SQL语句之单表查询、多表查询和子查询
一.简单查询: 基本语法: SELECT * FROM tb_name;查询全部 SELECT field1,field2 FROM tb_name; 投影 SELECT [DISTINCT] * F ...
- java 查询sql语句_java执行SQL语句实现查询的通用方法详解
完成sql查询 并将查询结果放入vector容器,以便其他程序使用 /* * 执行sql查询语句 */ public static vector executequery(class clazz, s ...
- 一条查询SQL 语句是如何执行的?
我们的程序或者工具要操作数据库,第一步要做什么事情? 跟数据库建立连接.
- MySQL 的分页查询 SQL 语句
MySQL一般使用 LIMIT 实现分页.基本语句为: SELECT ... FROM ... WHERE ... ORDER BY ... LIMIT ... 在中小数据量的情况下,这样的SQL足够 ...
- Oracle与MySQL的分页查询sql语句格式
Oracle Oracle使用rownum进行分页,rownum是从1开始的: select * from (select rownum as rn, a.* from table_name a wh ...
- hql取满足条件最新一条记录_MySql 之一条查询sql的执行过程
每当我把一条查询sql语句写完了,并且执行完得到想要的结果.这时我就在想为什么我写这样的一条sql语句,就能给我查询出我想要的结果,为什么我写了update就能更新一条语句?它们的执行过程是什么样的? ...
- 一条更新SQL语句是如何执行的?
前言 在上篇文章<一条查询SQL语句是如何执行的?> 介绍了一些常用组件,一般是经过连接器.分析器.优化器.执行器等功能模块,最后到达存储引擎.本文是介绍一条更新语句如何执行,还会介绍一写 ...
最新文章
- SQL中的Exist操作
- 【c#】Form调用百度地图api攻略及常见问题
- 【论文解读】CVPR 2021 当之无愧的最佳论文奖:GIRAFFE,一种可控图像合成方法...
- CentOS 7破解root密码
- 三菱plc编程实例3000_三菱入门PLC编程PLC系统程序包括哪些
- linux libasan.so,Address Sanitizer 用法
- 【操作系统】信号量的用法
- 基础算法 —— 调度问题 —— 多机并行调度问题
- MSP430开发笔记之五:硬件IO中断与IR红外接收
- 通过自定义View了解MeasureSpecMode
- Java习题练习:1299 String
- 有自学能力的人,赚钱极其简单—聚财云库
- 字符串统计(2017)
- CQI原理及CQI指标优化
- 《百度输入法》导致EXCEL 无法使用快捷键Ctrl+;插入日期
- 加拿大 oracle audio,来自加拿大的“简单”与“纯粹”——Verity Audio Otello座地式扬声器...
- ntoskrnl.exe 占用80端口 apache 无法启动
- typescript使用可选属性报错可能未定义
- Python 中的 import 语句使用
- 网众无盘服务器 快车挂盘失败 显示 当前磁盘已经为超级工作站模式,网众快车...
热门文章
- 视频教学丨在【星图地球开发者平台】的管理后台可以做什么?
- 在【星图地球开发者平台】实现「仿真推演和「想定编辑」
- Unity之OpenXR+XR Interaction Toolkit实现 传送
- 美团点评技术专家孙佳林:万亿级实时全链路监控系统架构演进!
- Java创建文件夹并上传文件到该文件夹
- 滨州医学院做计算机作业的网站,滨州医学院教务网(点击进入)
- Druid连接池连接MySQL数据库
- [指导]Lenovo G50-70/G40-70笔记本clover安装引导黑苹果
- 移动端不同分辨率手机的适配问题
- ping命令简单介绍+用ping简单测网速