ImageVerifierCode 换一换
格式:PPT , 页数:21 ,大小:113.43KB ,
文档编号:4181474      下载积分:22 文币
快捷下载
登录下载
邮箱/手机:
温馨提示:
系统将以此处填写的邮箱或者手机号生成账号和密码,方便再次下载。 如填写123,账号和密码都是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

优惠套餐
 

温馨提示:若手机下载失败,请复制以下地址【https://www.163wenku.com/d-4181474.html】到电脑浏览器->登陆(账号密码均为手机号或邮箱;不要扫码登陆)->重新下载(不再收费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  
下载须知

1: 试题类文档的标题没说有答案,则无答案;主观题也可能无答案。PPT的音视频可能无法播放。 请谨慎下单,一旦售出,概不退换。
2: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
3: 本文为用户(晟晟文业)主动上传,所有收益归该用户。163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

1,本文(mySQL教学第10章事务和锁.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!

mySQL教学第10章事务和锁.ppt

1、mySQL教学第10章事务和锁本章内容o 10.1 事务(Transact)介绍o 10.2 事务的特性o 10.3 事务的类型o 10.4 事务控制语句o 10.5 事务并发产生的问题o 10.6 锁 表级锁 行级锁o 10.7 事务和锁综合练习10.1事务(Transact)介绍o 事务是指一个逻辑单元的工作任务,这些工作任务要么全做,要么全部放弃。o 它必须同时满足四个特性:n 原子性n 一致性n 隔离性n 持久性10.2事务特性1o 原子性(Atomic)n 表示组成一个事务的多个数据库操作是一个不可分隔的原子单元,只有所有的操作执行成功,整个事务才提交,事务中任何一个数据库操作失败,

2、已经执行的任何操作都必须撤销,让数据库返回到初始状态。o 一致性(Consistency)n 事务操作成功后,数据库所处的状态和它的业务规则是一致的,即数据不会被破坏。事务特性2o 隔离性(Isolation)n 在并发数据操作时,不同的事务拥有各自数据空间,它们的操作不会对对方产生干扰。数据库规定了多种事务隔离级别,不同隔离级别对应不同的干扰程度,隔离级别越高,数据一致性越好,但并发性越弱。o 持久性(Durabiliy)n 一旦事务提交成功后,事务中所有的数据操作都必须被持久化到数据库中,即使提交事务后,数据库马上崩溃,在数据库重启时,也必须能保证能够通过某种机制恢复数据。10.3事务类型

3、1o 自动提交事务n 系统默认每个TRANSACTSQL命令都是一个事务处理,由系统自动开始并提交o 隐式事务:不需要显示开始事务,需要显示提交n 该类事务是任何单独的 INSERT、UPDATE 或者DELETE语句构成。当有大量的DDL和DML命令执行时会自动开始,并一直保持到用户明确提交为止。事务类型2o 显式事务n 该类事务是用户自定义事务,是以START TRANSACTION(事务开始)开头,以 COMMIT TRANSACTION(事务提交)或者 ROLLBACK TRANSACTION(回滚事务)语句结束的。o 分布式事务 n 跨越多个服务器的事务称为分布式事务。自从mySQL

4、5.03就开始支持分布式事务。10.4事务控制1o START TRANSACTION该语句标记一个显式事务的开始点,即事务开始。其语法如下:START TRAN|TRANSACTION transaction_name|tran_name_variable WITH MARK description ;o COMMIT TRANSACTION该语句标志一个成功的隐性事务或显式事务的结束,即事务提交。其语法如下:COMMIT TRAN|TRANSACTION transaction_name|tran_name_variable ;.事务控制2o ROLLBACK TRANSACTION 该语

5、句将显式事务或隐性事务回滚到事务的起点或事务内的某个保存点。其语法如下:ROLLBACK TRAN|TRANSACTION transaction_name|tran_name_variable|savepoint_name|savepoint_variable ;o SET AUTOCOMMIT 可以修改当前连接事务提交方式。SET AUTOCOMMIT=0,则需要明确的命令进行提交或者回滚。10.5 数据并发的问题1o 1.脏读(Dirty Read)n 脏读是指某个事务(A)读取另外事务(B)尚未提交的更改数据,并在这个数据的基础上操作。如果恰巧 B事务回滚,那么 A事务读到的数据根本是

6、不被承认的。o 2.不可重复读(Unrepeatable Read)n 不可重复读是指 A事务读取了 B事务已经提交的更改数据。数据并发的问题2o 3.幻象读(Phantom Read)n A事务读取B事务提交的新增数据,这时 A事务将出现幻象读的问题。o 4.第一类丢失更新n A事务撤销时,把已经提交的B事务的更新数据覆盖了。o 5.第二类丢失更新 n A事务覆盖B事务已经提交的数据,造成 B事务所做操作丢失。10.6 锁(Lock)o 数据库中的锁是指一种软件机制,用来控制防止某个用户(进程会话)在已经占用了某种数据资源时,其他用户做出影响本用户数据操作或导致数据非完整性和非一致性问题发生

7、的手段。n 锁概述n MySQL锁和数据库引擎n InnoDB和MyISAM支持表级锁n InnoDB事务实现的行级锁MySQL锁和数据库引擎o 相对于其他数据库而言,MySQL的锁机制比较简单,最显著的特点是不同的存储引擎支持不同的锁机制。o MyISAM和MEMORY存储引擎采用表级锁o DBD存储引擎采用的是页面锁和表级锁。o InnoDB支持行级锁、表级锁,默认情况采用行级锁。三种粒度锁的特性o 表级锁n 开销小,加锁快,不会出现死锁,锁定力度大,发生冲突所的概率高,并发度低。o 行级锁n 开销大,加锁慢,会出现死锁,锁定力度最小,发生锁冲突的概率最低,并发度高。o 页面锁n 开销和加

8、锁时间介于表锁和行锁之间,会出现死锁,锁定力度介于表和行行级锁之间,并发度一般。MySQL表级锁的锁模式o 表共享锁(Table Read Lock)o 表独占锁(Table Write)表级锁o 给TStudent表和TScore表添加读锁n lock tables TStudent read,TScore read;n lock tables TStudent read local,TScore read local;Local参数允许在表尾并发插入如果加的read锁,只能读取不能够更改数据,并且只能访问加锁的表。o 解锁表n unlock tables添加表级写锁o 给TStudent表

9、添加写锁n lock tables TStudent writeMySQL的InnoDB引擎行的锁o 共享锁(S)InnoDB引擎,共享锁用于所有的只读数据操作o 独占锁(X)n为修改数据而保留的,它所锁定的资源,其他事务不能读取也不能修改。o 意向共享锁(IS)o 意向独占锁(IX)n意向锁是InnoDB内部使用的,这两种意向锁都是表锁,比如事务打算给行加共享锁,先在表上添加IS锁锁与SQl语句o 对于Update Delete和Insert语句 InnoDB会自动给涉及数据集加排它锁o 对于select语句InnoDB不加任何锁,可以显示加锁。Select*from TStudent2 where studentid=00001 for update Select*from TStudent2 where studentid=00001 lock in share modeo Lock in share mode 是共享锁,如果加锁记录后进行更改使用for update综合练习o 在myISAM引擎上的表锁o 在InnoDB引擎上的事务产生的锁

侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|