MySQL邏輯架構

在這裏插入圖片描述

連接層

在這裏插入圖片描述
Mysql啓動,等待客戶端連接,每一個客戶端連接請求,服務器都會新建一個線程處理(若是線程池,則分配一個空的線程),每個線程獨立,擁有各自的內存處理空間,顯然,若兩個線程修改同一塊內存是會引發數據同步問題

SQL處理層

在這裏插入圖片描述
連接到服務器,服務器對其進行驗證(用戶名,IP,密碼),連接成功還要驗證是否具有執行某個特定查詢的權限
在這裏插入圖片描述
這一層的主要功能有SQL語句解析、優化、緩存查詢、MySQL內置函數實現、跨存儲引擎功能(存儲過程,觸發器,視圖)

  1. 如果是查詢語句,首先會查詢緩存是否命中
  2. 緩存未命中,解析查詢,創建一個內部數據結構(解析樹),用來對SQL語句的語義與語法的解析
  3. 優化SQL語句,重寫查詢,決定讀取表的讀取順序,選擇的索引

緩存

在這裏插入圖片描述

解析查詢

在這裏插入圖片描述
在這裏插入圖片描述

優化

使用慢查詢和執行計劃,後面會詳細講解
在這裏插入圖片描述
在這裏插入圖片描述

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