问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
你好,欢迎来到懂视!登录注册
当前位置: 首页 - 正文

谁能具体说一下这个sql语句执行的详细过程

发布网友 发布时间:2022-04-08 18:08

我来回答

3个回答

懂视网 时间:2022-04-08 22:30

MYSQL查询执行过程

  1. 客户端向服务器发送请求

  2. 服务器查询缓存,缓存中命中则结束,将结果返回客户端(返回前会检查用户权限),否则继续下边步骤

  3. 服务器端进行SQL解析、预处理,再由优化器生成对应的执行计划

  4. 根据执行计划调用存储引擎的API执行查询

  5. 将结果返回客户端

一、查询缓存

如果一条SQL语句以select开头,MySQL服务器将会尝试先在缓存中查询。每个cache都是以SQL文本做为key的,所以如果SQL语句中大小写不同也无法命中。

设置:my.cnf(Linuxe)/my.ini(Windows)

  1. query_cache_type=0时,不启用缓存查询

  2. query_cache_type=1时,启用缓存查询。如果在select后使用SQL_NO_CACHE,则本条SQL不使用缓存,对于查询很分散的SQL,不建议使用缓存,例如根据用户Id查询用户信息

  3. query_cache_type=2时,只对特定语句使用缓存。select后使用SQL_CACHE则进行缓存查询,对于接近静态数据的表,可以使用SQL_CACHE提高效率

命令:show variables like ‘%query_cache%‘查询缓存配置参数

命令:show status like ‘%Qcache%‘查询缓存情况

Qcache_hits:命中次数

Qcache_inserts:未命中后插入次数

二、MySQL解析器和预处理

Parser解析器

SQL命令传递到解析器的时候会被解析器验证和解析,主要功能为:

  1. 解析器将SQL语句分解成数据结构,并将这个结构传递到后续步骤,以后SQL的传递和处理都是基于这个结构的

  2. 如果在分解成数据结构中遇到错误,那么就说明这个SQL语句是不合法的

预处理

三、MySQL查询优化器

查询优化器将语法树转换为执行计划,并找出最好的执行计划。

可以使用explain查看查询优化器的操作,编写SQL语句的方式决定查询优化器如何使用索引。



参考:http://blog.chinaunix.net/uid-570310-id-2734848.html


本文出自 “塞上名猪” 博客,请务必保留此出处http://zuohao1990.blog.51cto.com/6057850/1720116

SQL查询执行过程

标签:mysql   优化   查询执行过程   

热心网友 时间:2022-04-08 19:38

declare @sql varchar(8000)
set @sql = 'select level ' ------赋值@sql
print @sql ---执行的第一步,打印出来
select @sql = @sql+', Min(case months when ''' + months + ''' then times else 0 end) [' + months + ']'
from (select distinct months from M) as a ----使用select 的给@sql在次赋值
print @sql ----执行的第二步 ,打印出来
set @sql = @sql + ' from M group by level' ----在一次@sql赋值
print @sql ----执行的第三步,打印出来
exec(@sql) ---使用EXEC调用字符串
print @sql -----打引出EXEC调用的SQL语句
Select * From M ---查询M表

在查询分析器里执行上面的你就知道它在做什么了!!
其实就是字符串拼凑!

热心网友 时间:2022-04-08 20:56

我对这个也稀里糊涂的。。
期待有高人详细解析下。
SQL语句执行过程详解

第一步:客户端把语句发给服务器端执行当我们在客户端执行 select 语句时,客户端会把这条 SQL 语句发送给服务器端,让服务器端的进程来处理这语句。也就是说,Oracle 客户端是不会做任何的操作,他的主要任务就是把客户端产生的一些 SQL 语句发送给服务器端。虽然在客户端也有一个数据库进程,但是,这个进程的作用...

MySQL—一条查询SQL语句的完整执行流程

MySQL查询执行流程详解:首先,当接收到SQL请求时,MySQL从连接层面开始操作:连接数据库: 客户端尝试与数据库建立连接,由连接器处理。若长时间无操作,连接可能会因wait_timeout参数设置(默认8小时)而自动断开。"Sleep"状态的连接表示空闲。查询缓存: 如果有缓存功能,MySQL会检查是否之前执行过相同的语句。

SQL语句执行流程与顺序原理解析

SQL语句执行流程与顺序原理解析Oracle语句执行流程第一步:客户端把语句发给服务器端执行当我们在客户端执行SQL语句时,客户端会把这条SQL... SQL语句执行流程与顺序原理解析Oracle语句执行流程第一步:客户端把语句发给服务器端执行当我们在客户端执行SQL语句时,客户端会把这条SQL 展开  我来答 1个回答 #热议# ...

SQL语句在数据库中是如何执行的

第一步:应用程序把查询SQL语句发给服务器端执行我们在数据层执行SQL语句时,应用程序会连接到相应的数据库服务器,把SQL语句发送给服务器处理。第二步:服务器解析请求的SQL语句SQL计划缓存,经常用查询分析器的朋友大概都知道这样一个事实,往往一个查询语句在第一次运行的时候需要执行特别长的时间,但是...

sql语句的执行流程是什么?

怎么执行sql命令?

执行sql命令步骤如下:1、点击页面中的【SQL】。2、打开之后在右侧就会出现一个空白的区域。输入所需的SQL命令。3、SQL语句输入完整之后,在空白区域 ,点击右键选择执行。以上就是执行sql命令的步骤。

求大神指点以下SQL查询语句

1、这是sql中常用的“相关子查询”;2、相关子查询的执行依赖于外部查询。多数情况下是子查询的WHERE子句中引用了外部查询的表。 执行过程:(1)从外层查询中取出一个元组,将元组相关列的值传给内层查询。(2)执行内层查询,得到子查询操作的值。(3)外查询根据子查询返回的结果或结果集得到满足...

求查询语句的具体执行过程,求专家指导

3、 OUTER (JOIN):如果指定了OUTER JOIN(相对于CROSS JOIN或INNER JOIN) ,保留表中未找到匹配的行将作为外部行添加到VT2,生成TV3。如果FROM子句包 含两个以上的表,则对上一个联接生成的结果表和下一个表重复执行步骤1到步骤 3,直到处理完所有的表位置。4、 WHERE:对TV3应用WHERE筛选器,...

谁能给我解释一下这条sql语句?

数据字典, 检索一个 对象ID = 名字叫 '[dbo].[T_Class]' 的对象ID。 并且类型是 'U' 的。DROP TABLE [dbo].[T_Class]删除表 [dbo].[T_Class]其实如果你是偷懒的话, 就直接 DROP TABLE [dbo].[T_Class]结果就是, 如果有,就删除, 没有, SQL Server 会抱错。

mybatis源码分析02:执行sql语句

这里得到的boundSql包含了要执行的sql语句,以及传入的参数: 继续跟进query(...)方法:SqlSessionsqlSession=factory.openSession()4 可以看到查询时,先判断缓存中是否存在要查询的记录,如果存在则直接返回缓存中的记录,否则就调用delegate.query(...)进行查询。 delegate是啥呢?这个就是执行具体操作的执行器,CachingExecu...

声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
山东新农合报销范 民生东都深圳车城投资发展有限公司怎么样? 广东东都实业有限公司怎么样? 北京东都京九裕元厚茶叶有限公司怎么样? 陕西东都实业有限公司怎么样? 河南东都实业有限公司怎么样? 中国通用技术(集团)控股有限责任公司管理团队 北京东都华易国际广告有限公司怎么样? ...石头人r加亚索r(如果一方有石头人加亚索百分之80躺赢) 吩咐可以组什么词语? 男生主动和女生分享自己生活上的事情,说明什么? 想趁着发奖金换新手机,一加 9RT和红米K40 Pro哪个好? 总是给你分享什么东西的男人是不爱你的? 男生喜欢和你分享他的生活上的事情,说明什么? 一个男生为什么向你分享生活? 一个男生总喜欢跟我分享事情,他是不是对我有意思呢? 男生和你熟,突然天天找你分享他的日常,他什么意思啊? 如果男生开始跟你分享他的日常,是不是意味喜欢上你了? 如果一个男人经常把他身边发生的事情与你分享,那说明了什么 男生主动把每天生活的事情分享给女生,他的心思是什么⊙∀⊙? 一个男人每天给你写日记是什么意思 男人会主动把自己写的文章给女人看 说明啥啊?他知道女人喜欢他 一个男人每天给你分享他日常,向你报行踪。说明什么? 幽默哲理的小故事有吗要短小的 幽默有哲理简短一些的故事 有什么幽默中蕴含哲理的小故事? 富有哲理的幽默简短故事有哪些? 幽默又有哲理的故事 搞笑又有哲理的文章400字,不要笑话~ 给我有哲理的笑话小故事 win7升级win10可以下载cad2016吗 男人每天都转发文章到朋友圈 一个男生最近开始和我分享他的日常了,这是喜欢吗? 一加9pro有红外遥控器吗 一男生把他记下的工作笔记留给你说明什么 一加9pro能不能开空调 联想YOGA win10系统兼容CAD 2016吗? 新天正支持CAD2016了,是不是说可以支持WIN10 一加9能不能开空调 如何将大数据与具体营销现象结合 ,分析其优缺点400字左右 微信设置了优先支付怎么还是不管用- 问一问 针灸减肥效果好么?亲身体验过的朋友说下。 拼多多先用后付到期微信里扣款失败怎么办? 微信如何付费扣款失败? 先用后付扣款失败后从哪付 微信优先支付方式失败,将尝试其他方法付款,是什么意思,优先用零钱,只有红包可以,零钱多呀! opporeno6pro5g信号弱怎么办? oppo reno6 pro 5g是否兼容 OPPOReno6Pro5G怎么玩游戏时放音乐开麦让别人听见 oppo reno6 pro 5g调后台
  • 焦点

最新推荐

猜你喜欢

热门推荐