mysql基础

mysql基础

三月 02, 2020

今天看了篇文章,简单记录下。

Mysql基本架构

mysql.jpg

连接器

我们要进行查询,第一步就是先去链接数据库,那这个时候就是连接器跟我们对接。
他负责跟客户端建立链接、获取权限、维持和管理连接。
链接的时候会经过TCP握手,然后身份验证,然后我们输入用户名密码就好了。
验证ok后,我们就连上了这个MySQL服务了,但是这个时候我们处于空闲状态。
  • 查看空闲列表

    show processlist
  • 连接器默认时长为8小时。超过时间就会断开,需要重新链接

缓存

缓存命中很难,因为表基本都需要更新。mysql8.0之后就取消了。

词法分析

在缓存没有命中的情况下,就开始执行语句了,你写的语句有没有语法错误,这是接下来MySQL比较关心的点。
那他会怎么做呢?会先做词法分析,你的语句有这么多单词、空格,MySQL就需要识别每个字符串所代表的是什么,是关键字,还是表名,还是列名等等。
然后就开始语法分析,根据词法分析的结果,语法分析会判断你sql的对错,错了会提醒你的,并且会提示你哪里错了。

优化器

优化就比较简单了,因为我们建立表可能会建立很多索引,优化有一步就是要确认使用哪个索引,比如使用你的主键索引,联合索引还是什么索引更好。

还有就是对执行顺序进行优化,条件那么多,先查哪个表,还是先关联,会出现很多方案,最后由优化器决定选用哪种方案。

执行器

最后的步骤

参考: 数据库基础