数据库--并发控制

来源:互联网 发布:ubuntu 查看gpu负载 编辑:程序博客网 时间:2024/05/22 17:36

1.并发操作带来的数据不一致主要包括:丢失修改,不可重复读,读“脏”数据
(1)丢失修改:两个事务T1,T2读入同一数据并修改,T2提交的结果破坏了T1提交的结果,导致T1的修改被丢失
(2)不可重复读:事务T1读取数据后,事务T2执行更新操作,使T1无法再现前一次读取的结果。
(3)读脏数据:事务T1修改某一数据,并将其写回磁盘,事务T2读取同一数据后,T1由于某种原因被撤销,这是T1已经恢复原值,T2读到的值就与数据库中的数据不一致,则T2读到的数据为脏数据
3.并发控制的主要技术:封锁,时间戳,乐观控制法
(1)封锁:事务对某个数据对象操作之前,对系统发出请求,对其加锁
排它锁(X锁):写锁,若事务T对数据对象A加上X锁,则只允许T读取和修改A
共享锁(S锁):读锁,若事务T对数据对象A加上S锁,则事务可以读A但不能修改A

0 0