MySQL存储引擎的区别(10)
Posted topass123
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL存储引擎的区别(10)相关的知识,希望对你有一定的参考价值。
MyISAM 和 InnoDB 存储引擎的对比
锁粒度方面:由于锁粒度不同,InnoDB 比 MyISAM 支持更高的并发;
InnoDB 的锁粒度为行锁、MyISAM 的锁粒度为表锁、行锁需要对每一行进行加锁,所以锁的开销更大,
但是能解决脏读和不可重复读的问题,相对来说也更容易发生死锁
可恢复性上:由于 InnoDB 是有事务日志的,所以在产生由于数据库崩溃等条件后,可以根据日志文件进行恢复。而 MyISAM 则没有事务日志。
查询性能上:MyISAM 要优于 InnoDB,因为 InnoDB 在查询过程中,是需要维护数据缓存,
而且查询过程是先定位到行所在的数据块,然后在从数据块中定位到要查找的行;而 MyISAM 可以直接定位到数据所在的内存地址,可以直接找到数据。
表结构文件上:MyISAM 的表结构文件包括:.frm(表结构定义),.MYI(索引),.MYD(数据);而 InnoDB 的表数据文件为:.ibd和.frm(表结构定义);
以上是关于MySQL存储引擎的区别(10)的主要内容,如果未能解决你的问题,请参考以下文章