请说说MySQL存储引擎

InnoDB

  • 默认事务型引擎,被广泛使用的存储引擎
  • 数据存储在共享表空间,即多个表和索引都存储在一个表空间中,可通过配置文件修改
  • 主键查询的性能高于其他类型的存储引擎
  • 内部做了很多优化,如:从磁盘读取数据时会自动构建hash索引,插入数据时自动构建插入缓冲区
  • 通过一些机制和工具支持真正的热备份
  • 支持崩溃后的安全恢复
  • 支持行级锁
  • 支持外键

 

MyISAM

  • 拥有全文索引、压缩、空间函数
  • 不支持事务和行级锁、不支持崩溃后的安全恢复
  • 表存储在两个文件:MYD 和 MYI
  • 设计简单,某些场景下性能很好,例如获取整个表有多少条数据,性能很高

 

其他表引擎:Archive、Blackhole、CSV、Memory