共計 663 個字符,預計需要花費 2 分鐘才能閱讀完成。
本篇內容介紹了“mysql 邏輯架構有哪幾層”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓丸趣 TV 小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
第一層,服務層 (為客戶端服務): 為請求做連接處理,授權認證,安全等。
1. 每個連接的查詢都在一個進程中的線程完成。
2. 服務器負責緩存線程,所以服務層不需要為每個連接新建線程。
注:mysql5.5 或者更新的版本提供了一個 API, 支持線程池(thread-pooling)插件,可以使用池中少量線程來服務大量的連接。 (類似于 oracle 中的共享連接方式)
第二層,核心層: 查詢解析,分析,優化,緩存,提供內建函數; 存儲過程,觸發器,視圖。
1. 優化器不關心使用的是什么存儲引擎,但是存儲引擎對優化查詢有影響。
2. 在解析查詢之前,服務器會“詢問”是否進行了查詢緩存 (只能緩存 SELECT 語句和相應結果)。緩存過的直接返回結果,未緩存的就需要進行解析查詢,優化,重新執行返回結果。
3. 解析查詢時會創建一個內部數據結構 (解析樹),然后對其進行各種優化。
第三層,存儲引擎層,不光做存儲和提取數據,而且針對特殊數據引擎還要做事務處理。
1. 服務器通過 API 與存儲引擎通信,接口屏蔽了不同存儲引擎之間的差異,使得上層查詢透明。
2. 不同存儲引擎之間不會通信,只會簡單相應上層服務的請求。
“mysql 邏輯架構有哪幾層”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注丸趣 TV 網站,丸趣 TV 小編將為大家輸出更多高質量的實用文章!