MySQL架構與引擎初識

2022-08-24 10:21:12 字數 1266 閱讀 8976

一、mysql邏輯架構

1、連線層:

最上層是一些客戶端和連線服務,所包含的服務並不是mysql所獨有的技術。它們都是服務於c/s程式或者是這些程式所需要的 :連線處理,身份驗證,安全性等等。

2、服務層:

主要完成大多數的核心服務功能,如sql 介面,並完成快取的查詢,sql 的分析和優化及部分內建函式的執行。所有跨儲存引擎的功能也在這一層上實現,如儲存過程、觸發器,檢視等。在該層,伺服器會解析並建立相應的內部資料結構(解析樹),並完成相應的優化如重寫查詢、決定表的讀取的順序,選擇合適的索引等,最後生成對應的執行操作。如果是select 語句,伺服器還會先檢查查詢快取(query cache),如果能夠在其中找到對應的查詢,伺服器就不必再執行查詢解析、優化和執行整個過程,而是直接返回查詢快取中的結果集。如果快取空間足夠大,這樣在解決大量讀操作的環境中能夠很好的提公升系統的效能。

3、引擎層:

在儲存引擎層,儲存引擎真正的負責了mysql 中資料的儲存和提取,伺服器通過api 與儲存引擎進行通訊。這些介面遮蔽了不同儲存引擎之間的差異,使得這些差異對上層的查詢過程透明。儲存引擎不會去解析sql(innodb是乙個例外,它會解析外來鍵定義,因為mysql伺服器本身沒有實現該功能),不同儲存引擎之間也不會相互通訊,而只是簡單地響應上層伺服器的請求。

4、儲存層: 

資料儲存層,主要將資料儲存在執行於裸裝置上的檔案系統上,並完成與儲存引擎的互動。

二、儲存引擎

1、檢視當前mysql支援的引擎

#檢視當前mysql支援的引擎

2、檢視當前mysql預設的儲存引擎

#檢視當前mysql預設的儲存引擎

3、innodb引擎是mysql5.7的預設引擎,支援事務、行級鎖定和外來鍵。還有乙個使用率較高的是myisam,兩者對比如下:

mysql架構引擎 MySQL引擎

一般來說,mysql有以下幾種引擎 isam myisam heap innodb和berkley 資料庫 一般來說,mysql有以下幾種引擎 isam myisam heap innodb和berkley bdb 注意 不同的版本支援的引擎是有差異的。當然啦,如果你感覺自己的確技術高超,你還能夠使...

初識 框架與架構

系統 的維基百科定義 系統泛指由一群有關聯的個體組成,根據某種規則運作,能完成個別元件不能單獨完成的工作的群體。它的意思是 總體 整體 或 聯盟 子系統 的維基百科定義 子系統也是由一群有關聯的個體所組成的系統,多半會是更大系統中的一部分。子系統的定義和系統定義是一樣的,只是觀察的角度有差異,乙個系...

初識mysql架構設計

一 應用系統如何與mysql進行一次互動?最開始接觸jdbc的時候,我們系統如何完成一次sql操作呢?第一步,建立資料庫連線 第二步,操作sql 第三步,釋放連線。但是每次建立與資料庫的連線非常耗時和資源,所以我們加入了連線池的概念。第一步的獲取連線是從連線池中獲取乙個可用的連線,第三步的釋放連線不...