MyISAM和InnoDB锁理解

MySQL的存储引擎是从MyISAM到InnoDB,锁从表锁到行锁。后者的出现从某种程度上是弥补前者的不足。比如:

MyISAM不支持事务,InnoDB支持事务。

表锁虽然开销小,锁表快,但高并发下性能低。行锁虽然开销大,锁表慢,但高并发下相比之下性能更高。

事务和行锁都是在确保数据准确的基础上提高并发的处理能力。

mysql的表锁有两种模式:表共享读锁(table read lock)和表独占写锁(table write lock)
这里写图片描述

说明

1.myISAM表的读操作,不会阻塞其他用户对同一个表的读请求,但会阻塞对同一个表的写请求。
2.myISAM表的写操作,会阻塞其他用户对同一个表的读和写操作。
3.myISAM表的读、写操作之间、以及写操作之间是串行的。
4.myISAM表始终是写锁优先的,如果现在一个用户正在读,其他用户等待读,此时进来一个写操作,那么这个写操作会被排在第一个正在读的用户后面,即第2个执行(被读阻塞)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值