【5分钟背八股】 简述myisam和innodb的区别?

InnoDB存储引擎: 主要面向OLTP(Online Transaction Processing,在线事务处理)方面的应用,是第一个完整支持ACID事务的存储引擎(BDB第一个支持事务的存储引擎,已经停止开发)。
特点:

  1. 支持行锁
  2. 支持外键
  3. 支持自动增加列AUTO_INCREMENT属性
  4. 支持事务
  5. 支持MVCC模式的读写
  6. 读的效率低于MYISAM
  7. 写的效率高优于MYISAM
  8. 适合频繁修改以及设计到安全性较高的应用
  9. 清空整个表的时候,Innodb是一行一行的删除,

MyISAM存储引擎: 是MySQL官方提供的存储引擎,主要面向OLAP(Online Analytical Processing,在线分析处理)方面的应用。

【5分钟背八股】79: 简述myisam和innodb的区别?.jpeg

推荐阅读:【5分钟背八股】76: MVCC实现原理是什么?

特点:

  1. 独立于操作系统,当建立一个MyISAM存储引擎的表时,就会在本地磁盘建立三个文件,例如我建立tb_demo表,那么会生成以下三个文件tb_demo.frm,tb_demo.MYD,tb_demo.MYI
  2. 不支持事务,
  3. 支持表锁和全文索引
  4. MyISAM存储引擎表由MYD和MYI组成,MYD用来存放数据文件,MYI用来存放索引文件。MySQL数据库只缓存其索引文件,数据文件的缓存交给操作系统本身来完成;
  5. MySQL5.0版本开始,MyISAM默认支持256T的单表数据;
  6. 选择密集型的表:MYISAM存储引擎在筛选大量数据时非常迅速,这是他最突出的优点
  7. 读的效率优于InnoDB
  8. 写的效率低于InnoDB
  9. 适合查询以及插入为主的应用
  10. 清空整个表的时候,MYISAM则会新建表
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容