事务和锁

Mysql 中事务和锁的区别是什么?什么情况是事务可以实现但是锁实现不了的?
今天被问到,有点懵,有牛友解答一下吗
#华为#  #腾讯#  #百度#  #字节#  #美团#
全部评论
ACID,锁实现了原子性,但没有实现一起完成一起失败,两个update语句,一个成功,一个失败,事务回滚,锁依然执行
2 回复 分享
发布于 08-20 22:18 福建
事务的本质是空间换时间(不同的事务在不同版本的数据上进行读取,这些事务是在不同的空间中进行操作的,自然没有并发安全问题),而对于有些特殊情况(增删改和select for update)来说,只有读取当前最新的版本数据才有意义,所以多个事物在执行这些操作时都需要在一个共享的数据上进行操作,只有用锁来互斥才能保证并发安全。
2 回复 分享
发布于 09-04 22:26 新疆
不考虑并发情况
点赞 回复 分享
发布于 08-20 20:57 四川
保证多次操作的原子性吧
点赞 回复 分享
发布于 08-20 21:38 广东
事务用锁实现可重复读和序列化执行😕,用锁单线程也没法实现持久化吧
点赞 回复 分享
发布于 08-20 21:45 安徽
问题有点奇怪啊,事务不是mvcc+锁实现的吗?为什么要把事务和锁放在一起比较?
点赞 回复 分享
发布于 08-28 13:56 上海

相关推荐

2 11 评论
分享
牛客网
牛客企业服务