版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Mind_programmonkey/article/details/86174829
第十一章 并发控制
1.事务并发
多用户数据库系统的存在(允许多个用户)
特点:在同一时刻并发运行时的事务数可达数百个
2.并发操作带来的数据不一致性
并发操作带来的数据不一致性包块丢失修改、不可重复读和读‘脏’数据
3.并发控制的技术
并发控制的主要技术有封锁、时间戳、乐观控制法和多版本并发控制。
4.封锁
排它锁(X锁)写锁:保证其他事务在T释放A上的锁之前,不能在读取和修改A。
共享锁(S锁)读锁:保证其他事务可以读A,但在T释放A上的S锁之前,不能对A进行修改。
5.为什么要并发控制
数据库是共享资源,通常由许多个事务同时在运行。当多个事务并发地存取数据库时就会产生同时读取和修改同一数据的情况。若对并发操作不加控制就可能会存取和存储不正确的数据,破坏数据库的一致性。所以数据库管理系统必须提供并发控制机制。
6.什么是活锁和死锁?怎么预防
活锁:数据资源释放时间不确定,导致某些事务长时间等待,得不到封锁机会。
预防措施:先来先服务
死锁:多个事务各自占有部分资源等待另一部分资源,资源需求出现回路,导致事务停顿无法执行。
预防:一次封锁法,顺序封锁法
诊断解除:超时法,等待图法