事务和锁
全部评论
ACID,锁实现了原子性,但没有实现一起完成一起失败,两个update语句,一个成功,一个失败,事务回滚,锁依然执行
事务的本质是空间换时间(不同的事务在不同版本的数据上进行读取,这些事务是在不同的空间中进行操作的,自然没有并发安全问题),而对于有些特殊情况(增删改和select for update)来说,只有读取当前最新的版本数据才有意义,所以多个事物在执行这些操作时都需要在一个共享的数据上进行操作,只有用锁来互斥才能保证并发安全。
不考虑并发情况
保证多次操作的原子性吧
事务用锁实现可重复读和序列化执行😕,用锁单线程也没法实现持久化吧
问题有点奇怪啊,事务不是mvcc+锁实现的吗?为什么要把事务和锁放在一起比较?
相关推荐