MySQL存储引擎相关知识点
两种引擎对比
-
MySQL存储引擎分为MyISAM和InnoDB两种,MyISAM不支持事务和行级锁,但是读取速度快;InnoDB支持事务、行级锁、外键、安全恢复,存储速度快;所以在做数据库主从分离时,主库的存储引擎可以设置为MyISAM,从库的存储引擎设置为InnoDB来提高数据库数据读写效率。
-
MySQL的表锁和行锁
表级锁:每次操作锁住整张表。开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。
行级锁:每次操作锁住一行数据。开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高
总结
- MyISAM更适合读密集的表,而InnoDB更适合写密集的的表。