事务的ACID特性
事务
A原子性:操作要么全部成功,要么全部失败回滚
C一致性:一个一致性状态变换到另一个一致性状态:扣500,另一个得500
I隔离性:独立性
D持久性:改变是永久性的
并发产生的问题:
丢失更新(中途写回,丢失了一个修改被覆盖) 不可重复读问题(第二次读的数据不一样,被中途修改) 脏 数据的读出(某个事务撤销的数据,扔被另一事务使用)
并发产生的问题的解决方案
问题:丢失更新,不可重复读的问题,脏数据的读出
方案:封锁协议
封锁协议:------》死锁 预防和手动解除
S封锁 读锁/共享
X封锁 写/独占 /排他
一级封锁协议:修改数据前加x锁,可防止丢失修改(事务结束后才释放)
二级封锁协议:一级封锁协议基础上在读数据之前加S锁,可防止丢失修改,可防止读脏数据(读完就释放S锁)
三级封锁协议:一级封锁协议加上事务在读取数据之前先加S锁,直到事务结束才释放
两端协议。可串行化,可能发生死锁
标签:封锁,协议,事务,控制,修改,并发,丢失 From: https://www.cnblogs.com/wumingliang/p/17677520.html