{eval=Array;=+count(Array);}

问答专栏Q & A COLUMN

关于sql执行原理的问题,怎么处理比较好?

tracymac7tracymac7 回答0 收藏1
问题描述:mysql执行缓存查询操作的时候是不是也要通过分析器和执行器?因为既是是查缓存也得分析语法然后去执行查询操作吧。 这是mysql执行sql的原理图。
收藏问题

2条回答

huaixiaoz

huaixiaoz

回答于2022-06-28 13:48

Sql执行原理大致分为四步:

第一步,客户端把语句发给服务器端执行:所有的SQL语句都是在客户端进程产生的,在服务器进程执行的。
第二步,语句解析:客户端把SQL语句传送到服务器后,服务器进程会对该语句在服务器上进行解析,这个时候服务器进程会对于SQL语句进行这几项操作:查询高速缓存、语句合法性检查、语言含义检查也就是词法分析器、然后对获得对象进行解析锁、再核对数据访问权限、最后确定最佳执行计划。
第三步,语句执行,语句解析只是对SQL语句的语法进行解析,以确保服务器能够知道这条语句到底表达的是什么意思。

第四步,提取数据,当语句执行完成之后,查询到的数据还是在服务器进程中,还没有被传送到客户端的用户进程。所以,在服务器端的进程中,有一个专门负责数据提取的一段代码。他的作用就是把查询到的数据结果返回给用户端进程,从而完成整个查询动作。

评论0 赞同0
  •  加载中...
snowell

snowell

回答于2022-06-28 13:48

你这个太笼统 SQL的什么执行原理?简单描述下

评论0 赞同0
  •  加载中...

相关问题

最新活动

您已邀请0人回答 查看邀请

我的邀请列表

  • 擅长该话题
  • 回答过该话题
  • 我关注的人
向帮助了您的网友说句感谢的话吧!
付费偷看金额在0.1-10元之间
<