久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

MySQL體系架構的示例分析

156次閱讀
沒有評論

共計 1190 個字符,預計需要花費 3 分鐘才能閱讀完成。

自動寫代碼機器人,免費開通

這篇文章給大家分享的是有關 MySQL 體系架構的示例分析的內(nèi)容。丸趣 TV 小編覺得挺實用的,因此分享給大家做個參考,一起跟隨丸趣 TV 小編過來看看吧。

MySQL 體系架構

MySQL 體系架構主要分為兩部分:客戶端和服務端

MySQL 體系架構的示例分析

客戶端

客戶端連接器主要負責一些客戶端的連接,針對不同的編程語言驅動提供連接服務。

服務端

服務層包括:系統(tǒng)管理和控制工具,連接池,SQL 接口,解析器,查詢優(yōu)化器,緩存。

連接池
負責管理客戶端與服務層數(shù)據(jù)處理的連接,以及對用戶執(zhí)行操作權限的校驗。

系統(tǒng)管理和控制工具
負責備份安全,安全管理,集群管理服務和工具等。

SQL 接口
接收客戶端 sql 命令,返回用戶需要的結果。如:dml,ddl, 存儲過程,視圖,觸發(fā)器等命令。

解析器
詞語(關鍵字)分析,語法分析,接收 sql 將其解析,生成解析樹,并且語法校驗檢查。

查詢優(yōu)化器:對生成解析樹后并且通過解析器語法后,由優(yōu)化器選擇合適的索引,然后生成執(zhí)行計劃,然后與執(zhí)行引擎交互。

緩存
緩存機制是由一系列緩存組合起來的。
如:表緩存,記錄緩存(sql 查詢結果緩存起來,等下一次相同 sql 查詢,從緩存中返回 ),
權限緩存,引擎緩存等。如果緩存命中,會直接從緩存中獲取數(shù)據(jù)。

存儲引擎層
負責 Mysql 數(shù)據(jù)的讀取和存取,如 InnoDB,MyISAM 等。可插拔式的,可以更換不同的存儲引擎。

系統(tǒng)文件層
如日志,數(shù)據(jù)文件等。

一條 SQL 的執(zhí)行流程

MySQL 體系架構的示例分析

首先客戶端進行連接;

其次在 server 層的連接管理器中驗證用戶權限等操作;

然后如果是非 8.0 版本的話會去緩存池中查看當前的 sql 的緩存,如果有直接返回;

如果緩存中沒有則會由解析器語法語義生成解析樹;

優(yōu)化器解析生成執(zhí)行計劃,并且選擇合適的索引;

存儲引擎調(diào)用 API 接口去查詢數(shù)據(jù),將查詢到的數(shù)據(jù)更新緩存 cache;

最后返回給客戶端;

存儲引擎層

存儲引擎是 MySQL 中具體與文件打交道的子系統(tǒng),是基于文件系統(tǒng)抽象出來用于 mysql 和磁盤文件打交道的一個系統(tǒng);
常用的存儲引擎, MyISAM、支持事務的 InnoDB;

MySQL 5.6 版本之前,默認的存儲引擎都是 MyISAM;

5.6 版本以后默認的存儲引擎就是 InnoDB;

功能對比

MySQL 體系架構的示例分析

InnoDB 支持 ACID 的事務 4 個特性,而 MyISAM 不支持;

InnoDB 支持 4 種事務隔離級別,默認是可重復讀 Repeatable Read 的,MyISAM 不支持;

InnoDB 支持 crash 安全恢復,MyISAM 不支持;

InnoDB 支持外鍵,MyISAM 不支持;

InnoDB 支持行級別的鎖粒度,MyISAM 不支持,只支持表級別的鎖粒度;

InnoDB 支持 MVCC,MyISAM 不支持;

感謝各位的閱讀!關于“MySQL 體系架構的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向 AI 問一下細節(jié)

正文完
 
丸趣
版權聲明:本站原創(chuàng)文章,由 丸趣 2023-12-16發(fā)表,共計1190字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網(wǎng)絡搜集發(fā)布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 饶平县| 南靖县| 凌海市| 绍兴市| 鹤峰县| 搜索| 剑阁县| 武定县| 上杭县| 江口县| 孟州市| 永昌县| 湖南省| 施甸县| 全椒县| 青海省| 新安县| 仲巴县| 乌审旗| 原阳县| 英德市| 攀枝花市| 新安县| 南昌县| 大埔县| 忻城县| 台江县| 泸定县| 同仁县| 丽江市| 荔波县| 聊城市| 龙口市| 丰镇市| 张掖市| 茌平县| 新宾| 高密市| 灵武市| 金山区| 泸州市|