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