《高效能MySQL》讀書筆記--MySQL邏輯架構

來源:互聯網
上載者:User

標籤:mysql   邏輯架構   查詢快取   線程   儲存引擎   

 一、MySQL邏輯架構MySQL最重要的、最與從不同的特性是它的儲存引擎架構,這種構架的設計將查詢處理及其它系統任務和資料的儲存/提取相分離。


第一層,服務層,最上層的服務並不是MySQL專屬的,大多數基於網路的用戶端/服務端的工具或者服務都有類似的架構。主要為請求做串連處理,授權認證,安全等。

第二層,核心層,大多數MySQL的核心服務功能都在這一層,包括查詢解析,分析,最佳化,緩衝,以及所有的內建函數(例如日期、時間、數學和加密函數),所有跨儲存引擎的功能都在這一層實現:預存程序,觸發器,視圖等。

第三層,儲存引擎,儲存引擎負責MySQL中資料的儲存和提取。伺服器通過API與儲存引擎進行通訊。這些介面屏蔽了不同儲存引擎之間的差異,使得這些差異對上層的查詢過程透明。儲存引擎不會去解析SQL,不同儲存引擎之間也不會相互連信,而只是簡單地響應上層服務的請求。

  串連管理與安全性(第一層 服務層)   > 串連流程


 Δ 每個串連的查詢都在一個進程中的線程完成。

 Δ 伺服器負責緩衝線程,所以服務層不需要為每個建立的串連建立或者銷毀線程(可以使用線程池)。

> 認證流程

1、當用戶端(應用)串連到MySQL伺服器時,伺服器需要對其進行認證。認證基於使用者名稱、原始主機資訊和密碼。如果使用了安全通訊端的方式串連,還可以使用X.509認證認證。

2、一旦用戶端串連成功,伺服器會繼續驗證該客戶是否具有執行某個查詢的許可權(例如對某個庫某張表執行查詢語句)


 

 最佳化與執行

1、MySQL會解釋查詢,並建立內部資料結構(解析樹),然後對其進行各種最佳化,包括重寫查詢、決定表的讀取順序,以及選擇合適的索引等。

2、 對於SELECT語句,在解析查詢之前,伺服器會先檢查查詢快取,如果能命中,伺服器就不必再執行查詢解析、最佳化和執行的整個過程,直接返回查詢快取中的結果集。

 MySQL重點:《高性能MySQL》讀書筆記--索引:http://blog.csdn.net/xifeijian/article/details/20312557

《高效能MySQL》讀書筆記--MySQL邏輯架構

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.