程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> 圖解MySQL5原理與架構

圖解MySQL5原理與架構

編輯:MySQL綜合教程

圖解MySQL5原理與架構


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

1、插件的架構思想:

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

\

MySQL的總體架構如圖:<喎?http://www.Bkjia.com/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+PGltZyBzcmM9"http://www.2cto.com/uploadfile/Collfiles/20150305/2015030510004239.jpg" alt="\">

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

\

我自己整理了一個下:

\

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

2、存儲引擎:

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

3、SQL優化:

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

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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved