Innodb与MyIsam

本文详细对比了MySQL中MyISAM与InnoDB存储引擎的特性,包括事务处理、锁机制、数据操作、查询效率及应用场景。MyISAM适合查询为主的应用,而InnoDB更适合需要事务处理和高并发的场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.区别

(1)事务处理:

MyIsam是非事务安全的,不支持事务,Innodb支持事务。

(2)锁机制

MyIsam支持的是表锁,锁粒度比较大,Innodb支持行锁,锁粒度小,支持更多并发。

(3)数据操作

select较多的时候推荐MyISAM;

需要Update和insert,处于安全和性能的考虑,使用Innodb。

(4)查询表的行数不同

查询表包含的记录数时,Mysiam保存了行数,直接返回值,innodb需要遍历全表。

(5)外键

Innodb支持外键

2.MyISAM查询速度快的原因

Innodb查询操作时需要维护的东西比Mysiam多:

(1)数据块,Innodb需要缓冲数据块,而myisam只需要缓冲索引块,这中间还有换进换出的减少;

(2)Innodb需要维护MVCC一致(多版本并发控制)

3.应用场景

MyISAM:查询行数、查询记录;插入和更新不频繁,查询频繁;不需要事务

Innodb:要求事务,可靠性;表更新频繁,并且行锁定的机会较大。

https://www.cnblogs.com/changna1314/p/6878900.html

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值