MySQL 有多种存储引擎,每种存储引擎有各自的优缺点,能够择优抉择应用:

MyISAM、InnoDB、MERGE、MEMORY(HEAP)、BDB(BerkeleyDB)、EXAMPLE、FEDERATED、ARCHIVE、CSV、BLACKHOLE。

MySQL反对数个存储引擎作为对不同表的类型的处理器。MySQL存储引擎包含处理事务平安表的引擎和解决非事务平安表的引擎:

  • MyISAM治理非事务表。它提供高速存储和检索,以及全文搜寻能力。MyISAM在所有MySQL配置里被反对,它是默认的存储引擎,除非你配置MySQL默认应用另外一个引擎。
  • MEMORY存储引擎提供"内存中"表。MERGE存储引擎容许汇合将被解决同样的MyISAM表作为一个独自的表。就像MyISAM一样,MEMORY和MERGE存储引擎解决非事务表,这两个引擎也都被默认蕴含在MySQL中。

    正文:MEMORY存储引擎正式地被确定为HEAP引擎。

  • InnoDB和BDB存储引擎提供事务平安表。BDB被蕴含在为反对它的操作系统公布的MySQL-Max二进制散发版里。InnoDB也默认被包含在所 有MySQL 5.1二进制散发版里,你能够依照爱好通过配置MySQL来容许或禁止任一引擎。
  • EXAMPLE存储引擎是一个"存根"引擎,它不做什么。你能够用这个引擎创立表,但没有数据被存储于其中或从其中检索。这个引擎的目标是服务,在 MySQL源代码中的一个例子,它演示阐明如何开始编写新存储引擎。同样,它的次要趣味是对开发者。
  • NDB Cluster是被MySQL Cluster用来实现宰割到多台计算机上的表的存储引擎。它在MySQL-Max 5.1二进制散发版里提供。这个存储引擎以后只被Linux, Solaris, 和Mac OS X 反对。在将来的MySQL散发版中,咱们想要增加其它平台对这个引擎的反对,包含Windows。
  • ARCHIVE存储引擎被用来无索引地,十分小地笼罩存储的大量数据。
  • CSV存储引擎把数据以逗号分隔的格局存储在文本文件中。
  • BLACKHOLE存储引擎承受但不存储数据,并且检索总是返回一个空集。
  • FEDERATED存储引擎把数据存在近程数据库中。在MySQL 5.1中,它只和MySQL一起工作,应用MySQL C Client API。在将来的散发版中,咱们想要让它应用其它驱动器或客户端连贯办法连贯到另外的数据源。

比拟罕用的是 MyISAM 和 InnoBD