MySQL的結構圖html
爲了更好的瞭解和配置MySQL,就必須先了解一下MySQL的體系結構。以下圖所示:sql
理解MySQL的體系架構對於成功的配置和調試相當重要。如下將對架構圖進行簡要的說明:緩存
① Connectors指的是不一樣語言中與SQL的交互接口,例如適用於Java的JDBC,.Netframework的ODBC。安全
② Management Serveices & Utilities:系統管理和控制工具集合,例如備份還原,安全複製等功能。架構
③ Connection Pool:鏈接池,用於管理緩衝用戶鏈接,線程處理等須要緩存的需求。工具
④ SQL Interface:SQL接口,用於接受用戶的SQL命令,而且返回用戶須要查詢的結果。好比select from就是調用SQL Interface。優化
⑤ Parser:解析器,用於SQL命令傳遞到解析器的時候會被解析器驗證和解析。解析器是由Lex和YACC實現的,是一個很長的腳本。spa
⑥ Optimizer:查詢優化器,用於SQL語句在查詢以前會使用查詢優化器對查詢進行優化。他使用的是「選取-投影-聯接」策略進行查詢。插件
⑦ Cache和Buffer:查詢緩存,若是查詢緩存有命中的查詢結果,查詢語句就能夠直接去查詢緩存中取數據。這個緩存機制是由一系列小緩存組成的。好比表緩存,記錄緩存,key緩存,權限緩存等。
⑧ Engine:存儲引擎,存儲引擎是MySql中具體的與文件打交道的子系統。也是Mysql最具備特點的一個地方。Mysql的存儲引擎是插件式的。它根據MySql提供的文件訪問層的一個抽象接口來定製一種文件訪問機制(這種訪問機制就叫存儲引擎)。如今有不少種存儲引擎,各個存儲引擎的優點各不同,最經常使用的MyISAM,InnoDB,BDB。