1. 程式人生 > >sql查詢語句如何執行

sql查詢語句如何執行

img 獲取數據 做什麽 提取關鍵字 mage 清空 頻繁 rdquo 所有

MySQL 可以分為 Server 層和存儲引擎層兩部分。

技術分享圖片

查詢緩存:

Mysql拿到一個查詢請求之後,會先查詢緩存,之前執行過的語句及結果可能會以Key-Value的形式被存在緩存中,Key是查詢語句,如果存在直接返回,如果沒有再執行後面的流程

查詢緩存失效非常頻繁,只要對表有更新,表上的所有緩存都會被清空.註意Mysql8.0移除了查詢緩存整個功能。

分析器:

提取關鍵字進行語法分析,“You have an error in your SQL syntax”就是從這兒拋出去的

優化器:

經過分析器之後,Mysql就知道你要做什麽了,在這兒就進行索引的選擇,連表查詢時,決定連接順序等等優化sql語句

執行器

優化器之後知道了該怎麽做,執行器就開始執行語句,先判斷有無權限,有權限繼續執行語句,調用存儲引擎獲取數據

sql查詢語句如何執行