首頁  >  文章  >  資料庫  >  了解 MySQL 體系架構

了解 MySQL 體系架構

coldplay.xixi
coldplay.xixi轉載
2021-01-05 09:20:432109瀏覽

mysql影片教學欄位介紹MySQL體系架構

了解 MySQL 體系架構

##推薦(免費):

mysql影片教學了解 MySQL 體系架構

MySQL 體系架構

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

客戶端

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

  • 服務端

  • 服務層包括:系統管理和控制工具,連接池,SQL接口,解析器,查詢最佳化器,快取。

  • 連接池
    負責管理用戶端與服務層資料處理的連接,以及對使用者執行操作權限的校驗。

  • 系統管理與控制工具
    負責備份安全,安全管理,叢集管理服務和工具等。

  • SQL介面

    接收客戶端 sql指令 ,傳回使用者所需的結果。如:dml,ddl,預存程序,視圖,觸發器等指令。

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

  • 查詢優化器:對生成解析樹後並且通過解析器語法後,由優化器選擇合適的索引,然後產生執行計劃,然後與執行引擎互動。


  • 快取
  • 快取機制是由一系列快取組合起來的。

    如:表緩存,記錄緩存(sql查詢結果緩存起來,等下一次相同sql查詢,從緩存返回),
    權限緩存,引擎緩存等。如果快取命中,會直接從快取中取得資料。

儲存引擎層 負責Mysql 資料的讀取和訪問,如 InnoDB,MyISAM等。可插拔式的,可以更換不同的儲存引擎。

了解 MySQL 體系架構系統檔案層

如日誌,資料檔案等。
  • 一條SQL的執行流程
  • #首先客戶端進行連線;

首先用戶端進行連線;

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

然後如果是非8.0版本的話會去快取池中查看目前的sql的緩存,如果有直接回傳;
  • 如果快取中沒有則會由解析器語法語意產生解析樹;
  • 優化器解析產生執行計劃,並且選擇合適的索引;
儲存引擎呼叫API介面去查詢數據,將查詢到的數據更新快取cache;

最後傳回給客戶端;

了解 MySQL 體系架構

    儲存引擎層
  • ##。儲存引擎是MySQL 中具體與檔案打交道的子系統,是基於檔案系統抽象化用於mysql和磁碟檔案打交道的一個系統;

    常用的儲存引擎, MyISAM、支援事務的InnoDB;
  • #MySQL 5.6 版本之前,預設的儲存引擎都是MyISAM;

  • 5.6 版本以後預設的儲存引擎就是InnoDB ;
  • 功能比較
  • #InnoDB 支援ACID 的事務4 個特性,而MyISAM 不支援;

  • InnoDB 支援4 種交易隔離級別,預設為可重複讀Repeatable Read 的,MyISAM 不支援;

###InnoDB 支援crash 安全性恢復,MyISAM 不支援;############InnoDB 支援外鍵,MyISAM 不支援;############InnoDB 支援外鍵,MyISAM 不支援;############InnoDB 支援行層級的鎖定粒度,MyISAM 不支持,只支援表格層級的鎖定粒度;###########InnoDB 支援MVCC, MyISAM 不支援;##########

以上是了解 MySQL 體系架構的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:csdn.net。如有侵權,請聯絡admin@php.cn刪除