mysql學習之 邏輯架構

2021-07-25 09:09:17 字數 664 閱讀 8010

mysql邏輯架構圖:

第一層,服務層(為客戶端服務):為請求做連線處理,授權認證,安全等。

1.  每個連線的查詢都在乙個程序中的執行緒完成。

2.  伺服器負責快取執行緒,所以服務層不需要為每個連線新建執行緒。

注:mysql5.5或者更新的版本提供了乙個api,支援執行緒池(thread-pooling)外掛程式,可以使用池中少量執行緒來服務大量的連線。  (類似於oracle中的共享連線方式)

第二層,核心層:查詢解析,分析,優化,快取,提供內建函式;儲存過程,觸發器,檢視。

1.優化器不關心使用的是什麼儲存引擎,但是儲存引擎對優化查詢有影響。

2.在解析查詢之前,伺服器會「詢問」是否進行了查詢快取(只能快取select語句和相應結果)。快取過的直接返回結果,未快取的就需要進行解析查詢,優化,重新執行返回結果。

3.解析查詢時會建立乙個內部資料結構(解析樹),然後對其進行各種優化。

第三層,儲存引擎層,不光做儲存和提取資料,而且針對特殊資料引擎還要做事務處理。

1.伺服器通過api與儲存引擎通訊,介面遮蔽了不同儲存引擎之間的差異,使得上層查詢透明。

2.不同儲存引擎之間不會通訊,只會簡單相應上層服務的請求。

MySQL邏輯架構

庖丁解牛之前應該也是對牛的骨架有乙個全面的認知。同樣學習資料庫也從mysql的邏輯架構開始吧。了解mysql邏輯架構有助於深入理解mysql伺服器。最上層的服務並不是mysql所獨有的,大多數基於網路的客戶端 伺服器的工具或者服務都有類似的架構。比如連線處理 授權認證 安全等等。第二層,mysql大...

MySQL邏輯架構

mysql伺服器邏輯架構圖如下 每個虛線框為一層,總共三層。最上層的服務不是mysql特有的,大多數基於網路的客戶端 伺服器的工具或者服務都有類似的架構,為請求做連線處理,授權認證,安全等。第二層架構是大多數mysql的核心服務功能所在層,包括查詢解析,分析,優化,快取以及所有的內建函式,所有跨儲存...

MySQL 邏輯架構

對mysql架構的基本情況掌握了,才能深入學習高階mysql的一些知識。1.連線層 最上層是一些客戶端和連線服務,包含 本地sock通訊和大多數基於客戶端 服務端工具實現的類似於tcp ip的通訊。主要完成一些類似於連線處理 授權認證 及相關的安全方案。在該層上引入了執行緒池的概念,為通過認證安全接...