数据库应用技术教程第六章事务处理与并发.pptVIP

  • 0
  • 0
  • 约2.84千字
  • 约 10页
  • 2025-04-12 发布于四川
  • 举报

数据库应用技术教程第六章事务处理与并发.ppt

R1(A,100),R2(A,100),W1(A,140),W2(A,150),C1,C2;脏写(DirtyWrite)*W1(A,140),R2(A,140),RB1;脏读(DirtyRead)R1(A,40),W2(A,80),C2,R1(A,80),C1;R1(A,100),R2(A,100),W1(A,140),C1,W2(A,150),C2;不可重复读(Non-repeatableRead)R1(*),I2(B),C2,R1(*)=oldvalue;幻影读(PhantomRead)并发异常并发隔离级别隔离性IsolationLevelDirtyReadNonRepeatableReadPhantomRead性能ReaduncommittedPossiblePPReadcommittedNotPPRepeatableReadNotNotPSerializableNotNotNotOracle支持Readcommitted和Serializable两种级别缺省是Readcommitted级别实施并发控制应用系统的并发程度系统规模和用户规模业务并发程度和冲突概率应用系统对并发错误的容忍程度。在通常情况下,程序员无需考虑每个事务内部处理细节来避免并发异常,而是通过控制隔离级别保证不出现相关的异常程序员可以采用一些方法来尽量避免可能的并发错误。使用尽量少的SQL,直接修改数据可以使用手工加锁等方式,预先申请资源。01事务处理02并发异常与并发控制03数据库实现机制简介内容概要*不同的隔离级别下,可以在隔离性和性能之间进行均衡。就像一个滑动开关,在不同的档位上,可能性能最好,但隔离性最差。Oracle只支持Readcommitted和Serializable两种级别,而且缺省是Readcommitted级别,这意味着存在一定的并发异常风险,但这一般是没有问题的。***在一般情况下,ORACLE自动对资源加锁,以实现并发控制。******数据库应用技术

第六章

事务处理与并发事务处理01并发异常与并发控制02数据库实现机制简介03内容概要事务处理的基本概念事务是包括多个数据库操作的逻辑工作单元。事务执行的结果不是全部成功就是全部失败。事务的ACID特性原子性(Atomicity):事务的一组操作是不可分的。要么完全成功,要么完全失败,即使是在发生系统崩溃的情况下。一致性(Consistency):符合程序员所定义的商业规则(BusinessRules)。隔离性(Isolation):两个事务并行执行的结果和串行执行的结果是一样的。也称可串行性(Serializability)。持久性(Durability):事务提交后,结果是持久存储的,即使是在系统崩溃时。(内存缓冲区向磁盘的写入,通过日志来实现)。01提交:通知数据库当前事务完全结束,数据库将事务的影响永久化。并准备开始下一个事务。卷回:通知数据库撤销当前事务,准备开始下一个事务。或撤销一部分操作,仍处于当前事务。02事务、用户与会话的关系0304语句正确执行与事务提交的区别语句级卷回与事务卷回05事务处理的基本概念12从上一个事务完成(或初次连接数据库)后的第一个DML语句作为开始。在MSS中有BEGINTRANSACTION语句事务开始以提交或卷回语句作为结束;执行一个DDL语句(提交);用户断开连接(提交);用户进行不正常结束(卷回)。事务结束事务处理的基本概念COMMIT[WORK];ROLLBACK[WORK];SAVEPOINT保存点;ROLLBACK[WORK][TOSAVEPOINT保存点];卷回到一个SAVEPOINT时,使其后的所有SAVEPOINT失效,释放这之后的所有锁(但其他在此期间申请相同资源的事务仍需要等待)。事务处理语句例子:要注意程序执行流程与数据库状态的区别。BA事务处理语句事务处理1并发异常与并发控制2数据库实现机制简介3内容概要并发控制:多个事务同时进行,可能会导致一些错误的情况。如何保证这些情况不出现,是DBMS的职责之一。在没有确保事务的隔离性和一致性的情况下出现的异常。脏写(DirtyWrite)*脏读(DirtyRead)不可重复读(Non-repeatableRead)幻影读(PhantomRead)并发异常与并发控制任务1:读出数据A,将其加上50,写回任务2

文档评论(0)

1亿VIP精品文档

相关文档