sql语句如何执行的
生活随笔
收集整理的這篇文章主要介紹了
sql语句如何执行的
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
MySQL 主要分為 Server 層和引擎層,Server 層主要包括連接器、查詢緩存、分析器、優(yōu)化器、執(zhí)行器,同時(shí)還有一個(gè)日志模塊(binlog),這個(gè)日志模塊所有執(zhí)行引擎都可以共用,redolog 只有 InnoDB 有。
引擎層是插件式的,目前主要包括,MyISAM,InnoDB,Memory 等。
查詢語(yǔ)句的執(zhí)行流程如下:權(quán)限校驗(yàn)(如果命中緩存)—》查詢緩存—》分析器—》優(yōu)化器—》權(quán)限校驗(yàn)—》執(zhí)行器—》引擎
更新語(yǔ)句執(zhí)行流程如下:分析器----》權(quán)限校驗(yàn)----》執(zhí)行器—》引擎—redo log(prepare 狀態(tài)—》binlog—》redo log(commit狀態(tài))
?
參考地址:https://github.com/Snailclimb/JavaGuide/blob/master/docs/database/%E4%B8%80%E6%9D%A1sql%E8%AF%AD%E5%8F%A5%E5%9C%A8mysql%E4%B8%AD%E5%A6%82%E4%BD%95%E6%89%A7%E8%A1%8C%E7%9A%84.md
總結(jié)
以上是生活随笔為你收集整理的sql语句如何执行的的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: redis缓存策略
- 下一篇: 为什么要尽量设定一个主键?