MySQL中的數據用各類不一樣的技術存儲在文件(或者內存)中。這些技術中的每一種技術都使用不一樣的存儲機制、索引技巧、鎖定水平而且最終提供普遍的不一樣的功能和能力。mysql
mysql5.6支持的存儲引擎包括InnoDB、MyISAM、MEMORY、CSV、BLACKHOLE、FEDERATED、MRG_MYISAM、ARCHIVE、PERFORMANCE_SCHEMA。其中NDB和InnoDB提供事務安全表,其餘存儲引擎都是非事務安全表。sql
show engines; 可在數據庫中查看
InnoDB:用於事務處理應用程序,支持外鍵和行級鎖。若是應用對事物的完整性有比較高的要求,在併發條件下要求數據的一致性,數據操做除了插入和查詢以外,還包括不少更新和刪除操做,那麼InnoDB存儲引擎是比較合適的。InnoDB除了有效的下降由刪除和更新致使的鎖定,還能夠確保事務的完整提交和回滾,對於相似計費系統或者財務系統等對數據準確要求性比較高的系統都是合適的選擇。數據庫
MyISAM:若是應用是以讀操做和插入操做爲主,只有不多的更新和刪除操做,而且對事務的完整性、併發性要求不高,那麼能夠選擇這個存儲引擎。安全
Memory:將全部的數據保存在內存中,在須要快速定位記錄和其餘相似數據的環境下,能夠提供極快的訪問。Memory的缺陷是對錶的大小有限制,雖然數據庫由於異常終止的話數據能夠正常恢復,可是一旦數據庫關閉,存儲在內存中的數據都會丟失。併發