MySQL邏輯架構概述


1.MySQL邏輯架構

MySQL邏輯架構圖

MySQL邏輯架構分四層

1.連接層:主要完成一些類似連接處理,授權認證及相關的安全方案。

2.服務層:在 MySQL據庫系統處理底層數據之前的所有工作都是在這一層完成的,包括權限判斷,SQL接口,SQL解析,SQL分析優化, 緩存查詢的處理以及部分內置函數執行(如日期,時間,數學運算,加密)等等。各個存儲引擎提供的功能都集中在這一層,如存儲過程,觸發器,視圖等。

3.引擎層:是底層數據存取操作實現部分,由多種存儲引擎共同組成。真正負責MySQL中數據的存儲和提取。就像Linux眾多的文件系統 一樣。每個存儲引擎都有自己的優點和缺陷。服務器是通過存儲引擎API來與它們交互的。這個接口隱藏 了各個存儲引擎不同的地方。對於查詢層盡可能的透明。這個API包含了很多底層的操作。如開始一個事物,或者取出有特定主鍵的行。存儲引擎不能解析SQL,互相之間也不能通信。僅僅是簡單的響應服務器 的請求。

4.存儲層:將數據存儲於裸設備的文件系統之上,完成與存儲引擎的交互。

參考張沖andy的文章:MySQL邏輯架構概述

MySQL語句執行流程圖

2.MySQL存儲引擎

查看MySQL中現在提供的存儲引擎:

show engines;

查看MySQL現在默認使用的存儲引擎:

show variables like '%storage_engine%';

查看某表使用的存儲引擎:

show create table 表名;

從上面MySQL邏輯架構圖可以看到,MySQL有很多種存儲引擎,他們以插件的形式存在,需要那個存儲引擎則裝上那個存儲引擎。
其實在MySQL中主要使用MyISAM引擎和InnoDB引擎。

MyISAM引擎和InnoDB引擎簡單對比:

MyISAM引擎 InnoDB引擎
主外鍵 不支持 支持
事務 不支持 支持
行表鎖 表所.不適合高並發 行鎖.適合高並發
緩存 只緩存索引 緩存索引和真實數據
表空間
關注點 性能.偏讀 事務
默認安裝


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM