文档详情

ch10- 数据库中的事务与锁.pptx

发布:2025-02-26约3.98千字共33页下载文档
文本预览下载声明

第十章数据库中的事务与锁数据库

目录10.1实战目标与准备10.2事务概述与常用命令10.3MySQL中ACID特性验证10.4并发导致的数据不一致问题重现实战10.5MySQL并发控制——锁10.6封锁协议与MySQL的隔离级别10.7基于隔离级别与锁解决数据不一致问题10.8MySQL的死锁10.9MySQL并发控制——MVCC

10.1实战目标与准备实战目标本章的目标是在掌握了数据库和基本表的创建和管理的基础上,学习如何通过一定的工具或SQL命令来对基本表中的数据进行增、删、改、查等基本操作。熟练掌握对基本表进行数据插入、修改和删除的SQL语句。熟练掌握数据查询的SQL语句(简单查询和复合查询)。掌握对视图的数据操作,并了解其与基本表数据操作的关系。掌握SQL语句查询性能分析的基本知识。了解TPC-C基准数据库

10.2事务概述与常用命令1.事务的概念一个数据库操作序列一个不可分割的工作单位(要么全做,要么全不做)恢复和并发控制的基本单位在关系数据库中的事务和程序:一个事务可以是一条SQL语句,一组SQL语句或整个程序。一个程序通常包含多个事务。

10.2事务概述与常用命令2.事务的特性(ACID)原子性(Atomicity)一致性(Consistency)隔离性(Isolation)持续性(Durability)要么全做,要么全不做事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态一个事务的执行不能被其他事务干扰事务一旦提交,它对数据库中数据的改变就应该是永久性的。

10.2事务概述与常用命令commit

10.2事务概述与常用命令rollback

10.2事务概述与常用命令starttransaction;insertintotvalues(1);insertintotvalues(2);savepoints1;insertintotvalues(3);insertintotvalues(4);savepoints2;insertintotvalues(5);insertintotvalues(6);select*fromt;rollbacktosavepoints2;select*fromt;savepoint

10.2事务概述与常用命令功能例子查看当前活动事务select*frominformation_schema.innodb_trx;设置/查看是否自动提交set@@autocommit=0;setglobal@@autocommit=0;setautocommit=0;setglobalautocommit=0;showglobal/sessionvariableslikeautocommit’;(省略global/session修饰符时,默认为session范围)设置/查看全局隔离级别setglobaltransactionisolationlevelrepeatableread;showglobalvariablesliketransaction_isolation;设置/查看当前连接(session)隔离级别settransactionisolationlevelrepeatableread;setsessiontransactionisolationlevelrepeatableread;showvariablesliketransaction_isolation’;showsessionvariablesliketransaction_isolation’;select@@transaction_isolation;

10.3MySQL中ACID特性验证事务的原子性与一致性示例

10.3MySQL中ACID特性验证事务的隔离性与持久性示例

10.4并发导致的数据不一致问题重现实战第一类丢失更新问题

10.4并发导致的数据不一致问题重现实战第二类丢失更新问题

10.4并发导致的数据不一致问题重现实战读脏数据问题

10.4并发导致的数据不一致问题重现实战不可重复读

10.4并发导致的数据不一致问题重现实战幻读

10.5MySQL并发控制——锁

10.5MySQL并发控制——锁几张与锁相关的系统表:

10.5MySQL并发控制——锁InnoDB的支持的锁锁类别描述SharedandExclusiveLocks共享锁/排他锁IntentionLocks意向共享锁/意向排他锁RecordLoc

显示全部
相似文档