欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    第13周第2次课—第26章事务处理.ppt

    • 资源ID:82698217       资源大小:57KB        全文页数:26页
    • 资源格式: PPT        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第13周第2次课—第26章事务处理.ppt

    IT Education&TrainingDate:09 January 2023第26章管理事务处理IT Education&TrainingDate:09 January 2023本次课的主要内容管理事务处理事务的特点控制事务处理事务隔离级多用户使用问题IT Education&TrainingDate:09 January 2023事务的特点事务的特点从MySQL 4.1开始支持事务,事务是构成多用户使用数据库的基础在MySQL环境中,事务由作为一个单独单元的一个或多个SQL语句组成如果单元中的一个语句不能完成,整个单元就会回滚(撤销),所有影响到的数据将返回到事务开始以前的状态IT Education&TrainingDate:09 January 2023事务和ACID属性通过InnoDB和BDB表类型,MySQL事务系统能够完全满足事务安全的ACID测试MyISAM类型不支持事务,这种系统中的事务只能通过直接表锁定实现IT Education&TrainingDate:09 January 2023什么是ACID原则原子性(A)一致性(C)隔离性(I)持久性(D)IT Education&TrainingDate:09 January 2023原子性(A)每个事务都必须认为是一个不可分割的单元一致性(C)不管事务是完全成功完成还是中途失败,当事务使系统处于一致的状态时存在一致性在MySQL中,一致性主要由MySQL日志机制处理IT Education&TrainingDate:09 January 2023隔离性(I)是指每个事务在它自己的空间发生,和其他发生在系统中的事务隔离,而且事务的结果只有在它完全被执行时才能看到IT Education&TrainingDate:09 January 2023持久性(D)是指即使系统崩溃,一个提交的事务仍然存在,当一个事务完成,数据库的日志已经更新时,持久性就开始发生作用MySQL通过保存一条记录事务过程中系统变化的二进制事务日志文件来实现持久性IT Education&TrainingDate:09 January 2023控制事务处理事务操作原理在MySQL中,当一个会话开始时,系统变量AUTOCOMMIT值为1,即自动提交功能打开的,当用户每执行一条SQL语句后,该语句对数据库的修改就立即被提交成持久性修改保存到磁盘上,一个事务也就结束了IT Education&TrainingDate:09 January 2023如果要一个事务由多条SQL语句组成,必须关闭自动提交:SET AUTOCOMMIT=0;用户可以通过ROLLBACK撤销前面的操作,也可以用COMMIT语句持久化这些操作事务处理只能应用于INSERT、UPDATE和DELETE语句IT Education&TrainingDate:09 January 2023事务什么时候开始一个应用程序的第一条SQL语句或在COMMIT语句后的第一条SQL语句或在ROLLBACK语句后的第一条SQL语句或使用一条START TRANSACTION语句来显示启动一个事务:START TRANSACTION|BEGIN WORKIT Education&TrainingDate:09 January 2023撤销事务关键字:ROLLBACK它撤销事务所做的修改,并结束当前这个事务语法格式:ROLLBACK WORK AND NO CHAIN NO RELEASEIT Education&TrainingDate:09 January 2023结束事务关键字:COMMIT它使得自从事务开始以来所执行的所有数据修改成为数据库的永久部分,也标志一个事务的结束IT Education&TrainingDate:09 January 2023语法格式:COMMIT WORK AND NO CHAIN NO RELEASEAND CHAIN子句会在当前事务结束时,立刻启动一个新事务RELEASE子句在终止当前事务后,会让服务器断开与客户端的连接MySQL使用的是平面事务模型,因此嵌套的事务时不允许的IT Education&TrainingDate:09 January 2023回滚事务除了撤销整个事务,用户还可以使用ROLLBACK TO语句使事务回滚到某个点,在这之前需要使用SAVEPOINT语句来设置一个保存点IT Education&TrainingDate:09 January 2023SAVEPOINT语法格式SAVEPOINT identifier当前事务对数据进行了更改,则这些更改会在回滚中被撤销,语法格式ROLLBACK WORK TO SAVEPOINT identifier;IT Education&TrainingDate:09 January 2023当事务回滚到某个保存点后,在该保存点之后设置的保存点将被删除RELEASE SAVEPOINT 语句会从当前事务的一组保存点中删除已命名的保存点,不出现提交或回滚,如果保存点不存在,会出现错误,语法格式RELEASE SAVEPOINT identifier;IT Education&TrainingDate:09 January 2023下面几个语句说明事务处理过程1.START TRANSACTION2.UPDATE3.DELETE4.SAVEPOINT S1;5.DELETE6.ROLLBACK WORK TO SAVEPOINT S1;7.INSERT8.COMMIT WORK;IT Education&TrainingDate:09 January 2023事务隔离级为什么需要引入事务的隔离级每一个事务都有一个所谓事务的隔离级,它定义了用户彼此之间隔离和交互的程度。单用户的环境中,这个属性无关紧要:因为在任意时刻只有一个会话处于活动状态多用户环境中,许多会话在任一给定时刻都是活动的,此时能够隔离事务是很重要的IT Education&TrainingDate:09 January 2023MySQL提供的隔离级(根据ANSI/ISO SQL规范)序列化(SERIALIZABLE)可重复度(REPEATABLE READ)提交读(READ COMMITTED)未提交读(READ UNCOMMITTED)IT Education&TrainingDate:09 January 2023定义事务隔离级关键字:SET TRANSACTION一般语法格式SET GLOBAL|SESSION TRANSACTION ISOLATION LEVEL SERIALIZABLE|REPEATABLE READ|READ COMMITTED|READ UNCOMMITTED;IT Education&TrainingDate:09 January 2023GLOBAL:定义的隔离级将适用于所有SQL用户SESSION:隔离级只适用于当前运行的会话和连接序列化:用户之间通过一个接一个顺序地执行当前的事务,提供了事务之间最大限度的隔离可重复读:在这一级上,事务不会被看成是一个序列,如果用户在同一个事务中执行同条SELECT语句数次,结果总是相同的IT Education&TrainingDate:09 January 2023提交读处于这一级的事务可以看到其他事务添加的新纪录,而且其他事务对现存纪录做出的修改一旦被提交,也可以看到。未提交读可以读到其他事务没有提交的数据MySQL中,默认为REPEATABLE READ隔离级IT Education&TrainingDate:09 January 2023多用户使用问题几个概念丢失更新(lost update)指当两个或多个事务选择同一行,然后基于最初选定的值更新该行时,由于每个事务都不知道其他事务的存在,因此最后的更新将重写由其他事务所做的更新,将导致数据丢失IT Education&TrainingDate:09 January 2023脏读(dirty read)指一个事务正在访问数据,而其他事务正在更新该数据,但尚未提交,此时就会发生脏读问题不可重复读(unrepeatable read)当一个事务多次访问同一行而且每次读取不同的数据IT Education&TrainingDate:09 January 2023幻读(phantom read)当一个事务对某行执行插入或删除操作,而该行属于某个事务正在读取的行的范围时,会发生幻读

    注意事项

    本文(第13周第2次课—第26章事务处理.ppt)为本站会员(s****8)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开