sql-12 Mysql 记一次查询过程

1.用户发起请求,这里往往时多线程并发访问

2.去数据库线程池拿数据库链接,如果没有线程池,每次访问都要和数据库建立一次连接,非常耗时,效率低下

3.数据库层面上来说,可能会有多个系统同时访问它,所以它也要维护与系统之间的多个连接,也就是数据库层面的连接池

4.Mysql工作线程会监听数据库操作的请求

5.工作线程读取到一个SQL后会交给SQL接口去执行,SQL接口是一个组件,负责处理接收到的SQL语句

6.SQL接口会把SQL语句交给查询解析器,因为Mysql本身是无法直接理解SQL语句,需要转化成Mysql系统能认识的格式

7.接着就交给查询优化器来选择一个最优的查询路径,好比条条大路通罗马,从中选择一条最优路线

8.执行器会根据优化器选择的执行方案,去调用存储过程的接口按照一定的顺序和步骤.调用存储引擎接口,执行真正的SQL

tips:MySQL的架构中,SQL接口,SQL解析器,查询优化器都是通用的组件,但是存储引擎,它支持各种各样的,比如InnoDB,MyISAM,Memory等

img

posted @ 2022-02-26 15:27  冰冷的火  阅读(46)  评论(0)    收藏  举报