•数据库事务概述•数据库事务处理•数据库事务并发控制•数据库事务的恢复机制•数据库事务的性能优化•数据库事务案例分析目录contents事务的定义事务是一个数据库操作过程的完整工作单元,它由一系列SQL语句组成,可以用来保证这组SQL语句在执行时,其执行结果的一致性
事务是一个原子操作单元,其对数据的修改要么全部执行,要么全不执行
事务是一个独立的执行单位,它与其他事务之间没有直接的联系
事务的特性原子性(Atomicity)一致性(Consistency)隔离性(Isolation)持久性(Durability)事务的分类01020304简单事务分布式事务长事务短事务事务的开始与结束事务的开始事务的结束事务的结束是指一个或多个SQL语句执行完毕,并且已经做出了决定是提交事务还是回滚事务
事务的提交与回滚事务的提交事务的回滚事务的隔离级别读未提交读已提交可重复读串行化最低级别的隔离,一个事务可以读取另一个还没有提交的事务中的数据
可能导致脏读、不可重复读和幻读问题
一个事务只能读取另一个已经提交的事务中的数据
可以避免脏读问题,但仍可能出现不可重复读和幻读问题
保证在同一个事务中多次读取同样的数据结果是一致的
通过多版本并发控制(最高级别的隔离,确保事务串行执行
可以避免脏读、不可重复读和幻读问题,但会牺牲并发性能
MVCC)实现,可以避免脏读和不可重复读问题,但仍可能出现幻读问题
并发控制的概念并发控制的必要性并发控制并发控制的方法锁的种类和原理0102030405共享锁(Shared排他锁(更新锁(Update死锁(Deadlock)锁的原理…Exclusi……锁冲突的检测与避免锁冲突的检测锁冲突的避免故障的类型及恢复策略010203事务故障系统故障介质故障基于日志的恢复日志的概念日志的分类日志的应用日志是记录数据库事务执行过程中发生的变化,按照时间顺序记录