【mysql 第二篇章】请求到真正执行 SQL 到底是一个怎么样的过程?

从用户调用到SQL执行的流程中间发生了什么事情

在这里插入图片描述

1、网络请求使用 线程 来处理,当数据库连接池中监听到有连接请求,这个时候会分配一个线程来处理。

2、SQL接口 负责接收 SQL 语句,当线程监听到有请求和读取数据的之后,将 SQL 语句交给 SQL 接口执行 SQL。

3、SQL解析器 的作用是能让数据库看懂的语句。比如:select id,name,age from users where id=1; 会解析成 从 users 表查询数据;查询 id 字段的值等于1的那条数据;对查询那条数据提取出里面的 id, name, age三个字段。

4、查询优化器的作用是选择一条最优路线查询

  • 方式1:直接定位到 users 表中的 ID 字段等于1的那一行数据,然后查询出来id的值为1的那条数据。将id, name, age取出来就行了。
  • 方式2:先把users表中每一行数据的id, name, age查询出来,然后从这批数据中过滤出ID为1的数据。

5、执行器:执行器根据查询优化器生成的执行计划调用存储引擎的接口完成SQL语句。

6、存储引擎:真正执行sql的地方,这个里面又会区分出是调用内存中的数据还是磁盘上的数据

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值