mySQL的存储引擎
MyISAMMySQL 5.0之前的默认数据库引擎是最常用的。具有很高的插入和查询速度,但不支持事务。
InnoDB事务数据库的首选引擎支持ACID事务和行级锁定,MySQL 5.5已经成为默认的数据库引擎。
BDB来自Berkeley DB,这是事务数据库的另一种选择,它支持提交和回滚等其他事务特性。
内存是一个存储引擎,所有的数据都存储在内存中,具有很高的插入、更新和查询效率。但是它将占用与数据量成比例的内存空间。并且当MySQL重新启动时,它的内容将会丢失。
Merge将一定数量的MyISAM表组合成一个整体,在超大规模的数据存储中非常有用。
归档非常适合存储大量独立数据作为历史记录。因为它们不常被阅读。Archive具有高效的插入速度,但是它对查询的支持相对较差。
Federated将不同的MySQL服务器联合起来,在逻辑上形成一个完整的数据库。非常适合分布式应用
集群/NDB是一个高度冗余的存储引擎,它使用多个数据机来共同提供服务,以提高整体性能和安全性。适用于数据量大、安全性和性能要求高的应用。
CSV:逻辑上用逗号分隔数据的存储引擎。它为数据库子目录中的每个数据表创建一个. csv文件。这是一个普通的文本文件,每个数据行占用一个文本行。CSV存储引擎不支持索引。
黑洞:黑洞引擎,任何写入的数据都会消失,一般用来记录binlog进行复制中继。
示例存储引擎是一个什么也不做的存根引擎。它的目的是作为MySQL源代码中的一个例子来演示如何开始编写一个新的存储引擎。同样,它的主要兴趣是针对开发者的。示例存储引擎不支持索引。
此外,MySQL的存储引擎接口定义良好。有兴趣的开发者可以通过阅读文档来编写自己的存储引擎。