MySQL有多种存储引擎:
MyISAM、InnoDB、MERGE、MEMORY(HEAP)、BDB(BerkeleyDB)、EXAMPLE、FEDERATED、ARCHIVE、CSV、BLACKHOLE。
MySQL支持数个存储引擎作为对不同表的类型的处理器。MySQL存储引擎包括处理事务安全表的引擎和处理非事务安全表的引擎:
- MyISAM管理非事务表。它提供高速存储和检索,以及全文搜索能力。MyISAM在所有MySQL配置里被支持,它是默认的存储引擎,除非你配置MySQL默认使用另外一个引擎。
- InnoDB和BDB存储引擎提供事务安全表。BDB被包含在为支持它的操作系统发布的MySQL-Max二进制分发版里。InnoDB也默认被包括在所 有MySQL 5.1二进制分发版里,你可以按照喜好通过配置MySQL来允许或禁止任一引擎。
当创建一个新表的时候,可以通过添加一个ENGINE 选项来告诉MySQL要创建什么类型的表:
CREATE TABLE t (i INT) ENGINE = INNODB;
请注意,对于整个服务器或方案,你并不一定要使用相同的存储引擎,你可以为方案中的每个表使用不同的存储引擎,这点很重要。
在我的电脑上运行sql结果 mysql> show engines;
Engine
Support
Comment
MyISAM
YES
Default engine as of MySQL 3.23 with great performance
MEMORY
YES
Hash based, stored in memory, useful for temporary tables
InnoDB
DEFAULT
Supports transactions, row-level locking, and foreign keys
BerkeleyDB
NO
Supports transactions and page-level locking
BLACKHOLE
YES
/dev/null storage engine (anything you write to it disappears)
EXAMPLE
NO
Example storage engine
ARCHIVE
YES
Archive storage engine
CSV
NO
CSV storage engine
ndbcluster
NO
Clustered, fault-tolerant, memory-based tables
FEDERATED
YES
Federated MySQL storage engine
MRG_MYISAM
YES
Collection of identical MyISAM tables
ISAM
NO
Obsolete storage engine