MySQL实战进阶 1 - 查询语句、更新语句如何执行

发现日常里用的这么久的数据库,感觉很“平常”的小伙伴,好像还没有专门抽出一次性的较多时间,来对其系统性深入解剖学习;虽然平常也有积累,总的来说方方面面比较零碎;

后来发现这一块到了个人技能瓶颈了,(基础)需要进阶,将以前积累的,结合《高性能mysql》、「极客时间-MySQL实战45将」、源码,进行一次系统性的进阶学习;

01丨基础架构:一条SQL查询语句是如何执行的?

  • mysql基本架构(逻辑)示意图:

MySQL实战进阶 1 - 查询语句、更新语句如何执行_第1张图片

MySQL实战进阶 1 - 查询语句、更新语句如何执行_第2张图片

  • 连接器

MySQL实战进阶 1 - 查询语句、更新语句如何执行_第3张图片

MySQL实战进阶 1 - 查询语句、更新语句如何执行_第4张图片

MySQL实战进阶 1 - 查询语句、更新语句如何执行_第5张图片

MySQL实战进阶 1 - 查询语句、更新语句如何执行_第6张图片

  • 查询缓存

MySQL实战进阶 1 - 查询语句、更新语句如何执行_第7张图片

  • 分析器

MySQL实战进阶 1 - 查询语句、更新语句如何执行_第8张图片

  • 优化器

MySQL实战进阶 1 - 查询语句、更新语句如何执行_第9张图片

MySQL实战进阶 1 - 查询语句、更新语句如何执行_第10张图片

  • 执行器

MySQL实战进阶 1 - 查询语句、更新语句如何执行_第11张图片

MySQL实战进阶 1 - 查询语句、更新语句如何执行_第12张图片

02 | 日志系统:一条SQL更新语句是如何执行的?

MySQL实战进阶 1 - 查询语句、更新语句如何执行_第13张图片

  • 重要的日志模块:redo log(InnoDB引擎特有的日志)(引擎层)

MySQL实战进阶 1 - 查询语句、更新语句如何执行_第14张图片

MySQL实战进阶 1 - 查询语句、更新语句如何执行_第15张图片

MySQL实战进阶 1 - 查询语句、更新语句如何执行_第16张图片

  • 重要的日志模块:binlog(Server层)

MySQL实战进阶 1 - 查询语句、更新语句如何执行_第17张图片

MySQL实战进阶 1 - 查询语句、更新语句如何执行_第18张图片

MySQL实战进阶 1 - 查询语句、更新语句如何执行_第19张图片

update语句执行流程:

MySQL实战进阶 1 - 查询语句、更新语句如何执行_第20张图片

  • 两阶段提交

MySQL实战进阶 1 - 查询语句、更新语句如何执行_第21张图片

MySQL实战进阶 1 - 查询语句、更新语句如何执行_第22张图片

第2节总结:

MySQL实战进阶 1 - 查询语句、更新语句如何执行_第23张图片

 

你可能感兴趣的:(数据库,数据库,mysql)