更新時(shí)間:2022-12-27 來源:黑馬程序員 瀏覽量:
Mysql常用的數(shù)據(jù)庫存儲(chǔ)引擎有MyISAM、InnoDB、DBD(Berkeley DB)、Merge、Memory(Heap)、Example、Federated等。以下為4種常用數(shù)據(jù)庫存儲(chǔ)引擎的簡單介紹。
1)MyISAM:默認(rèn)的Mysql插件式存儲(chǔ)引擎。如果應(yīng)用是以讀寫操作和插入操作為主,只有很少的更新和刪除操作,并且對事務(wù)的完整性、并發(fā)性要求不是很高,那么可選用此種存儲(chǔ)引擎。
2)InnoDB:用于事務(wù)處理應(yīng)用程序,支持外鍵。如果應(yīng)用對事務(wù)的完整性有比較高的要求,在并發(fā)條件下要求數(shù)據(jù)一致性,數(shù)據(jù)操作除了插入和查詢以外,還包括很多的更新刪除操作,則InnoDB比較合適。InnoDB存儲(chǔ)引擎除了能有效地降低由于刪除和更新操作導(dǎo)致的鎖定,還可以確保事務(wù)的完整提交和回滾。
3)Memory:將所有的數(shù)據(jù)保存在RAM中,在需要快速定位記錄和其他類似數(shù)據(jù)的環(huán)境下,可提供極快的訪問。Memory的缺陷首先是對表的大小有限制,太大的表無法緩存在內(nèi)存中,其次要確保表數(shù)據(jù)可以恢復(fù),數(shù)據(jù)庫異常終止后表中的數(shù)據(jù)是可以恢復(fù)的。Memory表通常用于更新不太頻繁的表,從而快速得到訪問結(jié)果。
4)Merge:用于將一系列等同的MyISAM表以邏輯方式組合在一起,并作為一個(gè)對象引用它們。Merge表的優(yōu)點(diǎn)在于可以突破對單個(gè)MyISAM表大小的限制,并且將不同的表分布在多個(gè)磁盤上,可以有效地改善Merge表的訪問效率。