類似 select * from T where ID=10;
我們看到的只是這條語句的返回一個結(jié)果,卻不知道這條語句在MySQL內(nèi)部執(zhí)行過程。這里我們對MySQL拆解一下,讓我們對MySQL有更深入的理解,幫助我們后面遇到一些異?;蛘邌栴}的時候,能夠從更本質(zhì)層面上快速定位并解決問題。
MySQL的基本架構(gòu)示意圖:

大體可以看出,MySQL的邏輯架構(gòu)圖,分為:
1、管理連接,權(quán)限驗證
2、詞法分析,語法分析
3、執(zhí)行計劃生產(chǎn),索引選擇
4、操作引擎,返回結(jié)果
5、存儲數(shù)據(jù),提供讀寫接口
所以,執(zhí)行一條sql語句查詢分別經(jīng)過連接器、查詢緩存、分析器、優(yōu)化器、執(zhí)行器這五個環(huán)節(jié)。