InnoDB和MyISAM两种引擎的区别
- 索引
1.)InnoDB使用的是聚集索引,将索引和记录放在一起储存(.ibd文件)
2.)MyISAM使用非聚集索引,将索引(.myi)和数据(.myd)储存在不通的文件中 - 并发处理机制
1.) InnoDB的阻塞于隔离级别有关,可以使用不同的策略控制阻塞
2.) MyISAM使用的是表锁,在进行写操作时并发效率低,会造成读写阻塞 - 存储方式
1.) InnoDB将表结构存储在.frm文件中,将数据存储在.idb文件中
2.) MyISAM将表结构存储在.frm文件中,将数据存储在.myd中,将索引存储在.myi中 - 锁
1.) InnoDB行级锁,基于索引锁定指定的记录
2.) MyISAM表级锁,写入时会锁定整张表 - 事务
1.) InnoDB支持事务和外键,支持回滚等操作,对数据有较好的安全性和完整性,同时适合大量的insert和update操作
2.) MyISAM不支持事务和外键,在进行大量的select操作时较快