一、MySQL的主要適用場景
1、Web網站系統
2、日志記錄系統
3、數據倉庫系統
4、嵌入式系統
二、MySQL架構圖:

三、MySQL存儲引擎概述
1)MyISAM存儲引擎
MyISAM存儲引擎的表在數據庫中,每一個表都被存放為三個以表名命名的物理文件。首先肯定會有任何存儲引擎都不可缺少的存放表結構定義信息的.frm文件,另外還有.MYD和.MYI文件,分別存放了表的數據(.MYD)和索引數據(.MYI)。每個表都有且僅有這樣三個文件做為MyISAM存儲類型的表的存儲,也就是說不管這個表有多少個索引,都是存放在同一個.MYI文件中。
MyISAM支持以下三種類型的索引:
1、B-Tree索引
B-Tree索引,顧名思義,就是所有的索引節點都按照balancetree的數據結構來存儲,所有的索引數據節點都在葉節點。
2、R-Tree索引
R-Tree索引的存儲方式和b-tree索引有一些區別,主要設計用于為存儲空間和多維數據的字段做索引,所以目前的MySQL版本來說,也僅支持geometry類型的字段作索引。
3、Full-text索引
Full-text索引就是我們長說的全文索引,他的存儲結構也是b-tree。主要是為了解決在我們需要用like查詢的低效問題。
2)Innodb 存儲引擎
1、支持事務安裝
2、數據多版本讀取
3、鎖定機制的改進
4、實現外鍵
3)NDBCluster存儲引擎
NDB存儲引擎也叫NDBCluster存儲引擎,主要用于MySQLCluster分布式集群環境,Cluster是MySQL從5.0版本才開始提供的新功能。
4)Merge存儲引擎
MERGE存儲引擎,在MySQL用戶手冊中也提到了,也被大家認識為MRG_MyISAM引擎。Why?因為MERGE存儲引擎可以簡單的理解為其功能就是實現了對結構相同的MyISAM表,通過一些特殊的包裝對外提供一個單一的訪問入口,以達到減小應用的復雜度的目的。要創建MERGE表,不僅僅基表的結構要完全一致,包括字段的順序,基表的索引也必須完全一致。
5)Memory存儲引擎
Memory存儲引擎,通過名字就很容易讓人知道,他是一個將數據存儲在內存中的存儲引擎。Memory存儲引擎不會將任何數據存放到磁盤上,僅僅存放了一個表結構相關信息的.frm文件在磁盤上面。所以一旦MySQLCrash或者主機Crash之后,Memory的表就只剩下一個結構了。Memory表支持索引,并且同時支持Hash和B-Tree兩種格式的索引。由于是存放在內存中,所以Memory都是按照定長的空間來存儲數據的,而且不支持BLOB和TEXT類型的字段。Memory存儲引擎實現頁級鎖定。
6)BDB存儲引擎
新聞熱點
疑難解答