[Mysql]一条语句是如何执行的?

柔光的暖阳◎ 2022-04-16 06:14 297阅读 0赞

首先看下MySQL的基本架构示意图
在这里插入图片描述

连接器:负责与客户端进行连接(tcp),判断权限的操作.
连接分为长连接和短连接,由于连接过程十分复杂,推荐使用长连接,但是如果全部一样使用长连接,会使用大量管理连接的内存,需断开连接.

查询缓存:将查询结果以sql-result的形式存在内存中,高版本已经停止该功能,弊大于利,每次内容更新都会造成缓存的失效

分析器:词法分析,分析sql中所代表的含义,语法分析,判断你写的sql是否符合mysql的语法.如对不存在的字段进行过滤,就会产生不存在该column的错误

优化器:如何执行这个sql,使用哪个索引,如何join其他表

执行器:先判断权限,选择引擎,调用接口,判断条件,返回结果集

发表评论

表情:
评论列表 (有 0 条评论,297人围观)

还没有评论,来说两句吧...

相关阅读

    相关 SQL语句如何执行

    平时我们使用数据库,看到的通常都是一个整体。我们看到的只是输入一条语句,返回一个结果,却不知道这条语句在 MySQL 内部的执行过程。为了弄清楚一条SQL语句是如何执行的,必须