Mysql中的存储引擎MyISAM与InnoDb区别

InnoDB:

  • 支持事务处理
  • 不加锁读取
  • 支持外键
  • 支持行锁
  • 不支持FULLTEXT类型的索引
  • 不保存表的具体行数,扫描表来计算有多少行
  • DELETE表时,是一行一行的删除
  • InnoDB把数据和索引放在表空间中
  • 跨平台可直接使用
  • InnoDB中必须包含AUTO_INCREMENT类型字段的索引
  • 表格很难被压缩

MyISAM:

  • 不支持事务,回滚将造成不完全回滚,不具有原子性
  • 不支持外键
  • 支持全文搜索
  • 保存表的具体行数,不带where时,直接返回报讯的行数
  • DELETE表时,先DROP表,在重建表
  • MyISAM表被存放3个文件。 from文件存放表格定义。数据文件时MYD(MYData)。索引文件是MYI(MYIndex)引申
  • 跨平台很难直接拷贝
  • MyISAM中可以使用AUTO_INCREMENT类型字段建立联合索引
  • 表格可以被压缩

选择:
因为MyISAM相对简单所以在效率上要优于InnoDB,如果系统读多,写少。对原子性要求低。那么MyISAM是最好的选择。且MyISAM回复快。可直接备份覆盖回复
如果系统读少,写多,尤其是并发写入高的时候,InnoDB是首选

猜你喜欢

转载自blog.csdn.net/qq_41056506/article/details/81780178
今日推荐