基本信息
文件名称:第14章--事务与MySQL的多用户并发控制.pptx
文件大小:653.65 KB
总页数:52 页
更新时间:2025-04-01
总字数:约5.85千字
文档摘要

数据库原理与应用基础第14章事务与MySQL的多用户并发控制

第14章事务与MySQL的多用户并发控制事务MySQL的并发控制知识点小结

第14章事务与MySQL的多用户并发控制数据库与文件系统在数据管理优势在于数据库实现了数据的一致性以及并发性。对于数据库管理系统而言,事务与锁是实现数据一致性与并发性的基石。本章主要探讨了MySQL数据库中事务与锁必要性,讲解了如何在数据库中使用事务与锁实现数据的一致性以及并发性。掌握使用事务以及锁实现多用户并发访问的相关知识。

第14章事务与MySQL的多用户并发控制事务MySQL的并发控制知识点小结

事务事务的概念事务的ACID特性MySQL事务控制语句事务的隔离性级别

事务的概念事务通常包含一系列更新操作(update、insert和delete等操作语句),这些更新操作是一个不可分割的逻辑工作单元。如果事务成功执行,那么该事务等中所有的更新操作都会成功执行,并将执行结果提交到数据库文件中,成为数据库永久的组成部分。如果事务中某个更新操作执行失败,那么事务中的所有更新操作均被撤销,所有影响到的数据将返回到事务开始以前的状态。

事务事务的概念事务的ACID特性MySQL事务控制语句事务的隔离性级别

事务的ACID特性每个事务的处理必须满足ACID原则,即:原子性(A)一致性(C)隔离性(I)持久性(D)

事务的ACID特性原子性(A):原子性意味着每个事务都必须被认为是一个不可分割的单元。假设一个事务由两个或者多个任务组成,其中的语句必须同时成功才能认为事务是成功的。如果事务失败,系统将会返回到事务以前的状态。

事务的ACID特性一致性(C):不管事务是完全成功完成还是中途失败,当事务使系统处于一致的状态时存在一致性。在MySQL中,一致性主要由MySQL的日志机制处理,它记录了数据库的所有变化,为事务恢复提供了跟踪记录。如果系统在事务处理中间发生错误,MySQL恢复过程将使用这些日志来发现事务是否已经完全成功地执行,是否需要返回。因而一致性属性保证了数据库从不返回一个未处理完的事务。

事务的ACID特性隔离性(I):隔离性是指每个事务在它自己的空间发生,和其他发生在系统中的事务隔离,而且事务的结果只有在它完全被执行时才能看到。即使在这样的一个系统中同时发生了多个事务,隔离性原则保证某个特定事务在完全完成之前,其结果是看不见的。

事务的ACID特性持久性(D):持久性是指即使系统崩溃,一个提交的事务仍然存在。当一个事务完成,数据库的日志已经被更新时,持久性就开始发生作用。

事务事务的概念事务的ACID特性MySQL事务控制语句事务的隔离性级别

MySQL事务控制语句MySQL中可以使用begin开始事务,使用commint结束事务,中间可以使用rollback回滚事务。MySQL通过setautocommint、starttransaction、commit和rollback等语句支持本地事务。语法的基本形式如下:starttransaction|begin[work]commit[work][and[no]chain][[no]release]rollback[work][and[no]chain][[no]release]setautocommit={0|1}

MySQL事务控制语句注:默认情况下,mysql是autocommit的,如果需要通过明确的commit和rollback来提交和回滚事务,那么需要通过事务控制命令来控制starttransaction或begin语句可以开始一项新的事务。commit和rollback用来提交或者回滚事务。setautocommit可以修改当前连接的提交方式,如果设置了setautocommit=0,则设置之后的所有事务都需要通过明确的命令进行提交或者回滚。

事务事务的概念事务的ACID特性MySQL事务控制语句事务的隔离性级别

事务的隔离性级别每一个事务都有一个所谓的隔离级,它定义了用户彼此之间隔离和交互的程度。基于ANSI/ISOSQL规范,MySQL提供了下面4种隔离级:序列化(serializable)、可重复读(repeatableread)、提交读(readc