MySQL 存储引擎

MySQL 支持哪些存储引擎?

InnoDB

支持事务,面向在线事务处理(OLTP)应用,特点是行锁设计,支持外键,非锁定读。 使用多版本并发控制(MVCC)获得高并发性。 表中数据的存储,采用聚集(clustered)方式,因此每张表的存储都是按照主键的顺序存放。

MyISAM

不支持事务、表锁设计,支持全文索引,主要面向OLAP数据库应用。

NDB

集群存储引擎,join操作在数据库层完成,不是在存储引擎层,复杂连接需要巨大网络开销

Memory

存放内存中,适用于临时表,默认是哈希索引

Archive

只支持 insert select 操作,告诉插入和压缩功能

MyISAM 和 InnoDB 的区别?

  • InnoDB 插入、更新效率较高,支持事务处理, 支持行锁, 并发性能高

  • MyISAM 查询效率更高,但是不支持事务, 支持表锁, 并发性能低

MySQL 5.5 起 InnoDB是默认的数据库引擎

MySQL从5.6版本开始,InnoDB也支持全文索引(fulltext)

InnoDB数据页的大小?

页是InnoDB存储引擎磁盘管理的最小单位,每个页默认16KB

Last updated

Was this helpful?