圖解MySQL5原理與架構

MySQL是比較常用的關係型數據庫,對於使用MySQL作爲存儲的系統,MySQL的優化對於系統的性能至關重要,包括SQL的優化,然而要想做好優化,首先要對其總體有所瞭解,本文淺析了MySQL的總體架構思想,讓我們更加了解MySQL。

1、插件的架構思想:

MySQL的架構是插件形式,插件的特點是熱插拔,就是系統不需要停機就可以完成加載和卸載,絕大多數的插件架構如圖:


MySQL的總體架構如圖:

SQL Layer主要的工作是將SQL語句翻譯成C++方法(函數),具體的架構如下:

 

我自己整理了一個下:


MySQL將存儲引擎做成插件的方式,方便了不同的使用場景,但是最常用的還是支持事務的innodb引擎。

2、存儲引擎:

引擎其實對於程序來說是算法集或方法集,現成可以調用的方法,不同的MySQL存儲引擎的存儲方式是不同的,對於支持事務的innodb存儲引擎使數據滿足ACID原則,MySQL自身有個表存儲了一些引擎的配置:

3、SQL優化:

SQL的性能取決於操作對象的數據量大小,爲了減小操作的數據量,我們通常會爲表建立索引,索引在MySQL中的數據結構是B-Tree,由於B-Tree的查找性能特別好,大大地減少了我們要操作的數據量。

通常還有就是使用緩存,緩存減少了IO的操作,MySQL中有執行計劃可以讓我們預覽我們的SQL執行效果,在SQL語句前加上explain。

發佈了56 篇原創文章 · 獲贊 401 · 訪問量 40萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章