- 1、本文档共25页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MySQL事的务处理与并发访问
项目7 MySQL事务处理与并发访问 项目描述 任务解析 相关知识 任务实施 任务小结 1、项目描述 该项目的具体任务包括: (1)查询、修改、理解MySQL默认的事务隔离级别。 (2)查询、理解MySQL的并发连接数。 (3)查询、理解MySQL锁的争夺情况。 2、任务解析 理解什么是数据库的事务及其性质 MySQL的事务处理的方法 MySQL的并发访问及其应用 3、相关知识 相关术语: 数据库 数据库系统 数据库管理系统 数据库服务器 数据库语言 3、相关知识 数据库的分类: 关系数据库 非关系数据库 3、相关知识 MySQL的事务处理 MySQL的并发访问 MySQl事务 在MySQL数据库中,事务(TRANSACTION)是MySQL数据库管理系统的执行单位,它由有限的数据库操作序列组成,但也并不是任意的MySQL数据库操作序列都能成为事务。 简而言之,事务就是一段SQL语句的批处理,但是这个批处理是一个atom(原子),不可分割,要么都执行,要么回滚(rollback)都不执行。 MySQl事务的特性 ACID Atomic Consistent Isolated Durable MySQl事务的特性 原子性(Autmic):组成事务处理的语句形成了一个逻辑单元,不能只执行其中的一部分。换句话说,事务是不可分割的最小单元。比如:银行转帐过程中,必须同时从一个帐户减去转帐金额,并加到另一个帐户中,只改变一个帐户是不合理的 MySQl事务的特性 一致性(Consistency):在事务处理执行前后,数据库是一致的。也就是说,事务应该正确的转换系统状态。比如:银行转帐过程中,要么转帐金额从一个帐户转入另一个帐户,要么两个帐户都不变,没有其他的情况 MySQl事务的特性 隔离性(Isolation):一个事务处理对另一个事务处理没有影响。就是说任何事务都不可能看到一个处在不完整状态下的事务。比如说,银行转帐过程中,在转帐事务没有提交之前,另一个转帐事务只能处于等待状态 MySQl事务的特性 持久性(Durability):事务处理的效果能够被永久保存下来。反过来说,事务应当能够承受所有的失败,包括服务器、进程、通信以及媒体失败等等。比如:银行转帐过程中,转帐后帐户的状态要能被保存下来。 MySQl事务的使用情形 只有InnoDB /BDB之类的transaction_safe table才支持MYSQL事务。默认的engine MyISAM 是不支持事务的,show engine 可以看到支持的和默认的engine。可以在[mysqld] 加入:default_storage_engine=InnoDB; InnoDB 就是建立表的默认引擎。 MySQl的两种事务处理方法 用begin、rollback和commit实现。begin 用于开始一个事务,rollback 用于事务回滚,commit用于事务确认。 直接用set来改变MySQL的自动提交模式。MYSQL默认是自动提交的,也就是说一旦用户提交一个QUERY,系统就直接执行!但可以通过如下方式改变MySQL的自动提交模式以实现MySQL的事务处理 MySQl的事务隔离级别 读未提交(Read uncommitted) 读已提交(Read committed) 可重复读(Repeatable read) 可串行化(Serializable ) MySQl不期望的三种情况 脏读(dirty reads):一个事务读取了另一个未提交的并行事务写的数据。? 不可重复读(non-repeatable reads):一个事务重新读取前面读取过的数据, 发现该数据已经被另一个已提交的事务修改过。? 幻读(phantom read):一个事务重新执行一个查询,返回一套符合查询条件的行, 发现这些行因为其他最近提交的事务而发生了改变。 MySQl的并发访问 相对于串行访问来说,MySQL数据库的并发访问机制能大大增加数据库资源的利用率,提高数据库系统的吞吐量,从而可以支持更多的用户并减少用户等待时间。 MySQl并发访问可能带来的问题 脏读 不可重复读 幻读 更新丢失(Lost Update) 死锁 MySQl并发访问的实现 锁 表级锁 行级锁 4、任务实施 任务实施:查询和修改事务隔离级别 MySQL默认事务隔离级别是可重复读(Repeatable read),能够确保不会“幻读”。在shell下用MySQL命令查询MySQL默认事务隔离级别的方法及显示结果 任务实施:查询和修改事务隔离级别 在控制台下查看MySQLInnoDB会话级别的事务隔离级别的方法及显示结果 任务实施:查询并发连接数量 在shell下用MySQL命令查询MySQL最大连接(用户)数的方法及显示结果
您可能关注的文档
- Li的nux常用命令大全.pdf
- Li的nux虚拟内存管理基础v2.ppt
- LG的A-4100产品安装调试及日常维护.ppt
- LoadRun的ner压力测试笔试题.doc
- Load的Runner压力测试实例步骤.doc
- Load的runner接口压力测试步骤.docx
- log的ic pro X -共享项目.pdf
- Lotus N的otes 的最终用户最需知道的十件事.doc
- Li的nux简明教程.ppt
- LTE 的topn处理.docx
- 2023年江苏省镇江市润州区中考生物二模试卷+答案解析.pdf
- 2023年江苏省徐州市邳州市运河中学中考生物二模试卷+答案解析.pdf
- 2023年江苏省苏州市吴中区中考冲刺数学模拟预测卷+答案解析.pdf
- 2023年江苏省南通市崇川区田家炳中学中考数学四模试卷+答案解析.pdf
- 2023年江西省吉安市中考物理模拟试卷(一)+答案解析.pdf
- 2023年江苏省泰州市海陵区九年级(下)中考三模数学试卷+答案解析.pdf
- 2023年江苏省苏州市高新二中中考数学二模试卷+答案解析.pdf
- 2023年江苏省南通市九年级数学中考复习模拟卷+答案解析.pdf
- 2023年江苏省南通市海安市九年级数学模拟卷+答案解析.pdf
- 2023年江苏省泰州市靖江外国语学校中考数学一调试卷+答案解析.pdf
文档评论(0)