MySQL存储引擎特性解析

MySQL存储引擎特性解析

关于

各存储引擎之间的对比:官方介绍
InnoDB存储引擎的详细介绍:官方介绍

注意:此处官方介绍的MySQL版本为5.7,不同版本的介绍可能存在差异,可自行去官方网站上寻找对应的地址

存储引擎

  • InnoDB
  • MyISAM
  • Memory
  • CSV
  • Archive
  • NDB

存储引擎特性

  • InnoDB
    • 支持事务(ACID)、外键、表级别和行级别的锁、读写的并发、写不阻塞读(MVCC),数据的完整性和一致性更高,用一种索引特殊存储方式,该方式可以减少IO次数,从而达到提升查询的效率,用于数据一致性高,要求事务的特性并且有比较多的更新场景下。
  • MyISAM
    • 应用范围比较小,而且表级别的锁限制了读写性能,用在只读的工作里面,插入和查询的效率比较高,count速度比较快(只支持表级别的锁,而且不支持事务)。
  • Memory
    • 数据存储在内存里面,读写速度非常快,用于临时存储数据
  • CSV
    • 纯文本文件,可以用其他文本编辑工具打开,体积比较小,解析起来比较高效,不支持索引,一般用于导入导出
  • Archive
    • 归档,只会读,不会写,可内容压缩,不支持索引,也不支持update和delete操作,可用于日志记录
  • NDB
    • 用来做集群的存储引擎