MyISAM
mysql5.5版本以前默認(rèn)的的mysql存儲引擎。如果應(yīng)用是以讀操作和插入操作為主,只有很少的更新和刪除操作,并且對事物的完整性、并發(fā)性要求不是很高。MyISAM是在Web、數(shù)據(jù)倉儲和其他應(yīng)用環(huán)境下最常使用的存儲引擎之一。
InnoDB
用于事物處理應(yīng)用程序,支持外鍵。如果應(yīng)用對事物的完整性要求比較高,在并發(fā)條件下要求數(shù)據(jù)的一致性,數(shù)據(jù)操作除了插入和查詢以外,還包括很多更新和刪除操作。
InnoDB存儲引擎除了有效地降低由于刪除和更新導(dǎo)致的鎖定,還可以確保事物的完整提交和回滾,對于類似計費系統(tǒng)和財務(wù)等對數(shù)據(jù)準(zhǔn)確性要求比較高的系統(tǒng),InnoDB都是合適的選擇。
MEMORY
將所有數(shù)據(jù)保存在RAM中,在需要快速定位記錄和其他類似數(shù)據(jù)的環(huán)境下,可提供極快的訪問。MEMORY的缺陷是對表的大小限制,太大的表無法cache在內(nèi)存中,其次是要確保數(shù)據(jù)的可以恢復(fù),數(shù)據(jù)庫異常退出終止后表中的數(shù)據(jù)時可以恢復(fù)的。MEMORY表通常用于更新不太頻繁的小表,用以快速訪問結(jié)果。
MERGE
用于將一系列等同的MyISAM表以邏輯方式組合在一起,并作為一個對象引用它們,MERGE表的優(yōu)點在于可以突破對單個MyISAM表大小的限制,并且通過將不同的表分布在多個磁盤上,可以有效地改善MERGE表的訪問效率,這對于諸如數(shù)據(jù)倉庫等VLDB環(huán)境十分合適。