一、什么是存储引擎关系数据库表是用于存储和组织信息的数据结构,可以将表理解为由行和列组成的表格,类似于Excel的电子表格的形式。有的表简单,有的表复杂,有的表根本不用来存储任何长期的数据,有的表读取时非常快,但是插入数据时去很差;而我们在实际开发过程中,就可能需要各种各样的表,不同的表,就意味着存储不同类型的数据,数据的处理上也会存在着差异,那么。对于MySQL来说,它提供了很多种类型的存储引擎,我们可以根据对数据处理的需求,选择不同的存储引擎,从而最大限度的利用MySQL强大的功能。这篇博文将总结和分析各个引擎的特点,以及适用场合,并不会纠结于更深层次的东西。我的学习方法是先学会用,懂得怎么用,再去知道到底是如何能用的。下面就对MySQL支持的存储引擎进行简单的介绍。二、mysql存储引擎1、mysql5.5之前默认存储引擎是MyISAM,mysql5.5之后改为InnoDB(支持事务,最常用)2、使用以下命令可以查看MySQL支持的引擎show engines;三、mysql常用存储引擎的特点1、MyISAMMyISAM表无法处理事务,这就意味着有事务处理需求的表,不能使用MyISAM存储引擎。MyISAM存储引擎特别适合在以下几种情况下使用:(1)选择密集型的表。MyISAM存储引擎在筛选大量数据时非常迅速,这是它最突出的优点。(2)插入密集型的表。MyISAM的并发插入特性允许同时选择和插入数据。例如:MyISAM存储引擎很适合管理邮件或Web服务器日志数据。2、InnoDBInnoDB是一个健壮的事务型存储引擎,这种存储引擎已经被很多互联网公司使用用于事务处理应用程序,具有众多特性,包括ACID事务支持。一般在以下几种情况下使用InnoDB存储引擎:(1)更新密集的表。InnoDB存储引擎特别适合处理多重并发的更新请求。(2)事务。InnoDB存储引擎是支持事务的标准MySQL存储引擎。(3)自动灾难恢复。与其它存储引擎不同,InnoDB表能够自动从灾难中恢复。(4)外键约束。MySQL支持外键的存储引擎只有InnoDB。(5)支持自动增加列AUTO_INCREMENT属性。3、BDB可替代InnoDB的事务引擎,支持COMMIT、ROLLBACK和其他事务特性。4、Memory将所有数据保存在RAM中,在需要快速查找引用和其他类似数据的环境下,可提供极快的访问。5、Merge允许MySQL DBA或开发人员将一系列等同的MyISAM表以逻辑方式组合在一起,并作为1个对象引用它们。对于诸如数据仓储等VLDB环境十分适合。6、Archive为大量很少引用的历史、归档、或安全审计信息的存储和检索提供了完美的解决方案。四、如何选择合适的存储引擎?(1)选择标准可以分为:(2)是否需要支持事务;(3)是否需要使用热备;(4)崩溃恢复:能否接受崩溃;(5)是否需要外键支持;然后按照标准,选择对应的存储引擎即可。 

快照源:http://my.oschina.net/liuyaqian/blog/663914