Mysql基礎架構

Mysql基礎架構

在這裏插入圖片描述

客戶端

客戶端可以是JDBC代碼工具、可視化工具或是命令行,我們通過客戶端提交URL、用戶名和密碼等信息

連接器

連接器負責和客戶端建立連接、獲得權限,維護和管理連接,連接器用從我們在客戶端輸入的信息與數據庫進行連接

查詢緩存

當我們與數據庫建立連接之後,會首先到查詢緩存查詢是否之前查詢過這條命令,如果沒有則繼續執行後續階段
但是,不推薦使用查詢緩存:
– 1、查詢緩存的失效比較頻繁,只要表更新,緩存就會清空
– 2、緩存對應新更新的數據命中率比較低
並且,MySQL 8.0 版本直接將查詢緩存的整塊功能刪掉了,也就是說 8.0 開始徹底沒有這個功能了,這裏大家瞭解一下就好

分析器

當查詢緩存失敗後,就要執行sql語句了,Mysql需要知道你要幹什麼,因此就要對sql語句進行分析,首先做詞法分析,sql語句是由空格和字符串組成的,要識別出字符串,然後進行語法分析,看你的sql語句是否滿足mysql語法規則

優化器

經過分析器,mysql就知道你要幹什麼,但是在執行之前,還要經過優化器,當表中有多個索引的時候,決定用哪個索引,當sql語句需要做多表關聯的時候,決定表的連接順序,等等。在優化器階段會制定語句的執行方案,簡單來說,優化器的作用就是爲了sql語句更好的執行,然後進行執行階段

執行器

操作引擎,返回相應的結果。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章