MySQL存储引擎的比较

来源:互联网 发布:淘宝卖家可以删差评吗 编辑:程序博客网 时间:2024/06/05 17:39
  • MyISAM:在MySQL5.5.5之前的版本中,MySQL为默认的存储引擎,它是在Web、数据仓储和其他应用环境下最常使用的存储引擎之一。注意,通过更改STORAGE_ENGINE配置变量,能够方便地更改MySQL服务器的默认存储引擎。如果数据表主要是用来插入和查询记录,MyISAM能够提供较高的处理效率。
  • InnoDB:用于事务处理应用程序,具有众多特性,包括ACID事务支持。在MySQL5.5.5之后的版本中,InnoDB为默认的存储引擎。如果要提供提交、回滚和崩溃恢复能力的事务安全能力,并且要求实现并发控制,InnoDB是一个很好的选择。
  • BDB:可替代InnoDB的事务引擎,支持COMMITROLLBACK和其他事务特性。
  • Memory:将所有数据保存在RAM中,在需要快速查找引用和其他类似数据的环境下,可提供极快的访问。如果只是用于临时存放数据,数据量不大,并且不需要较高的数据安全性考虑,可以将数据保存在内存中的Memory存储引擎,MySQL使用该引擎作为临时表,存放查询的中间结果。
  • Merge:允许MySQL DBA或开发人员将一系列等同的MyISAM表以逻辑方式组合在一起,并作为1个对象引用它们。对于诸如数据仓储等VLDB环境十分适合。
  • Archive:为大量很少引用的历史、归档、或安全审计信息的存储和检索提供了完美的解决方案。如果只有Insert和Select操作,可以选择Archive引擎,它可以支持高并发的插入操作,但其本身并不是事务安全的。非常适合存储归档数据,如记录日志信息。
  • Federated:能够将多个分离的MySQL服务器链接起来,从多个物理服务器创建一个逻辑数据库。十分适合于分布式环境或数据集市环境。
  • Cluster/NDBMySQL的簇式数据库引擎,尤其适合于具有高性能查找要求的应用程序,这类查找需求还要求具有最高的正常工作时间和可用性。
  • Other:其他存储引擎包括CSV(引用由逗号隔开的用作数据库表的文件),Blackhole(用于临时禁止对数据库的应用程序输入),以及Example引擎(可为快速创建定制的插件式存储引擎提供帮助)。
转载:http://blog.csdn.net/sunnyzhangwenhan/article/details/8568718