與MySQL一起提供的各種存儲引擎在設計時考慮了不同的使用情況。為了更有效地使用插件式存儲體系結構,最好了解各種存儲引擎的優點和缺點。
在下面的表格中,概要介紹了與MySQL一起提供的存儲引擎:
下述存儲引擎是最常用的:
·MyISAM:默認的MySQL插件式存儲引擎,它是在Web、數據倉儲和其他應用環境下最常使用的存儲引擎之一。注意,通過更改STORAGE_ENGINE配置變量,能夠方便地更改MySQL服務器的默認存儲引擎。
·InnoDB:用於事務處理應用程序,具有眾多特性,包括ACID事務支持。
·BDB:可替代InnoDB的事務引擎,支持COMMIT、ROLLBACK和其他事務特性。
·Memory:將所有數據保存在RAM中,在需要快速查找引用和其他類似數據的環境下,可提供極快的訪問。
·Merge:允許MySQL DBA或開發人員將一系列等同的MyISAM表以邏輯方式組合在一起,並作為1個對象引用它們。對於諸如數據倉儲等VLDB環境十分適合。
·Archive:為大量很少引用的歷史、歸檔、或安全審計信息的存儲和檢索提供了完美的解決方案。
·Federated:能夠將多個分離的MySQL服務器鏈接起來,從多個物理服務器創建一個邏輯數據庫。十分適合於分布式環境或數據集市環境。
·Cluster/NDB:MySQL的簇式數據庫引擎,尤其適合於具有高性能查找要求的應用程序,這類查找需求還要求具有最高的正常工作時間和可用性。
·Other:其他存儲引擎包括CSV(引用由逗號隔開的用作數據庫表的文件),Blackhole(用於臨時禁止對數據庫的應用程序輸入),以及Example引擎(可為快速創建定制的插件式存儲引擎提供幫助)。
請記住,對於整個服務器或方案,你並不一定要使用相同的存儲引擎,你可以為方案中的每個表使用不同的存儲引擎,這點很重要。