Mysql中乐观锁和悲观锁的区别有:1.概念不同;2.使用场景不同;3.实现方式不同;4.特点不同;mysql中乐观锁和悲观锁的区别有以下几点概念不同mysql中乐观锁是对加锁持有一种乐观的态度,可以先进行业务操作,不到最后一步不进行加锁,
Mysql中乐观锁和悲观锁的区别有:1.概念不同;2.使用场景不同;3.实现方式不同;4.特点不同;
mysql中乐观锁和悲观锁的区别有以下几点
概念不同
mysql中乐观锁是对加锁持有一种乐观的态度,可以先进行业务操作,不到最后一步不进行加锁,且乐观锁认为加锁一定会成功;而悲观锁是对数据加锁持有一种悲观的态度,在数据处理过程中,数据是一直数据处于锁定状态,且悲观锁需要数据库提供锁机制。
使用场景不同
mysql中乐观锁适用于读取操作频繁的场景,当进行频繁的写入操作时,为了保证数据的一致性,应用层需要不断的重新获取数据,会增加数据库的查询操作,从而降低系统的吞吐量;而悲观锁适用于写入操作频繁的场景,当进行频繁的读取操作时,每次读取操作都会对数据进行加锁,会增加锁的开销,从而降低系统的吞吐量。
实现方式不同
mysql中乐观锁是通过version方式实现的,是在数据表中加上一个数据版本号version字段,表示数据被修改的次数,当数据被修改时,version值会加一;而悲观锁是由数据库本身实现的,可以直接调用数据库的相关语句实现悲观锁。
特点不同
mysql中乐观锁的特点是先进行业务操作,不到万不得已不会进行加锁操作,且乐观锁认为加锁一定会成功,只需要在完成业务操作后加锁即可;而悲观锁的特点是先获取锁,再进行业务操作,因为悲观锁认为获取锁失败的可能性很大,它需要先确保获取锁成功后再进行业务操作。
--结束END--
本文标题: mysql中乐观锁和悲观锁有什么区别
本文链接: https://lsjlt.com/news/111007.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-10-23
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0