MySQL数据库存储引擎MyISAM和InnoDB区别及适用场景

最近刚换了工作数据库的使用也从postgresql转为了mysql。这里就不具体说这两个数据库的区别了,以后有机会好好介绍下。

其实最开始了解的数据库就是mysql,但是并没有去深入研究,由于过年那段时间找工作的时候被问到很多,所以也看了很多。

mysql的存储引擎也有很多种,这里只简单介绍下最常用的两个引擎——MyISAM和InnoDB。

主要区别:

MyISAM

InnoDB

不支持事务(读性能好) 支持事务(写性能好,安全
不支持外键 支持外键
支持全文索引 不支持全文索引
表级粒度锁 行级粒度锁(不是绝对的,需要确定指定行)
Count(*)直接读取保存行数(有条件是一样) Count(*)需要扫描全表
AUTO_INCREMENT可以和其他字段做联合索引 AUTO_INCREMENT的字段必须是单独的索引
DELETE FROM table时会重建表 DELETE FROM table一行一行删除
每个MyISAM在磁盘上存储成三个文件。第一个文件的名字以表的名字开始,扩展名指出文件类型。

.frm文件存储表定义。

数据文件的扩展名为.MYD (MYData)。

索引文件的扩展名是.MYI (MYIndex)。

基于磁盘的资源是InnoDB表空间数据文件和它的日志文件,InnoDB 表的大小只受限于操作系统文件的大小,一般为 2GB

基本上我们都会用InnoDb存储引擎,如果有大量读操作的话MyISAM非常适用,但是我们多数互联网项目还是有大量的并发写。

后续会详细介绍InnoDB存储引擎的相关优化,希望大家可以多多关注。

本文原创与赵伊凡BLOG

©原创文章,转载请注明来源: 赵伊凡's Blog
©本文链接地址: MySQL数据库存储引擎MyISAM和InnoDB区别及适用场景

“MySQL数据库存储引擎MyISAM和InnoDB区别及适用场景”的30个回复

  1. Pingback: Blue Coaster33
  2. Pingback: Hillary scot
  3. Pingback: car parking
  4. Pingback: her og nu lan
  5. Pingback: stop parking
  6. Pingback: hurtigt laan penge nu
  7. Pingback: laane penge nu
  8. Pingback: my site
  9. Pingback: locksmiths albany ga
  10. Pingback: house blue
  11. Pingback: useful site
  12. Pingback: HD Coloring Pages
  13. Pingback: alkaline water
  14. Pingback: water ionizer
  15. Pingback: ionizer payment plan
  16. Pingback: visit site
  17. Pingback: alkaline water
  18. Pingback: alkaline water
  19. Pingback: shop car insurance
  20. Pingback: do you agree
  21. Pingback: I was reading this

发表评论

电子邮件地址不会被公开。 必填项已用*标注