执行SQL语句过程,SQL语句的执行顺序以及innodb执行SQL原理

本文详细阐述了用户通过数据库连接池执行SQL语句的过程,包括SQL语句的解析、优化和执行。同时,深入介绍了InnoDB存储引擎执行SQL的原理,涉及到Buffer Pool、redo log和bin log的区别及作用,以及bin log的三种刷盘模式。通过对update语句的示例,解析了事务提交时涉及的数据变更和日志记录流程。
摘要由CSDN通过智能技术生成

用户通过数据库连接池执行SQL语句过程

在这里插入图片描述
用户通过数据库连接池执行SQL语句,通过TCP/IP与数据库通信,数据库获得SQL语句后,数据库交给SQL接口处理 ,再用SQL解析器进行SQL解析,然后通过SQL查询优化器计算出最优查询路径,最后将SQL的执行计划交给执行器执行,执行器调用数据库的存储引擎完成数据库操作。

sql语句的执行顺序

staff
id name dept salary edlevel hiredate
1 张三 开发部 2000 3 2009-10-11
2 李四 开发部 2500 3 2009-10-01
3 王五 设计部 2600 5 2010-10-02
4 王六 设计部 2300 4 2010-10-03
5 马七 设计部 2100 4 2010-10-06
6 赵八 销售部 3000 5 2010-10-05
7 钱九 销售部 3100 7 2010-10-07
8 孙十 销售部 3500 7 2010-10-06

select dept, max(salary) as MAXNUM, MIN(salary) as MINNUM
from staff
where id > 0
group by dept
having count(*) > 2
order by MAXNUM desc

having 是对group的限定,where是对记录的限定
先找到id大于0的所有记录,再按部门分组

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值