下载此文档

MySQL事务学习-- 隔离级别.docx


文档分类:IT计算机 | 页数:约6页 举报非法文档有奖
1/6
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/6 下载此文档
文档列表 文档介绍
MySQL做最专业的DBA首页 博客 学院 下载 GitChat TinyMind 论坛 问答 商城 搜博主文章 写博客发Chat登录注册RSS订阅原MySQL事务学****gt;隔离10级别2013年10月17日15:00:57写评论6事务的隔离级别目录设置的目的收藏在数据库操作中,为了有效保证并发读取数据的正确性,提出的事务隔离级别。数据库是要被广大客户所共享访问的,那么在数据库操作过程中很可能出现以下几种不确定情况。快问更新丢失微信两个事务都同时更新一行数据,但是第二个事务却中途失败退出,导致对数据的两个修改都失效了。这是因为系统没有执行任何的锁操作,因此并发事务并没有被隔离开来。脏读 微博一个事务开始读取了某行数据,但是另外一个事务已经更新了此数据但没有能够及时提交。这是相当危险的,因为很可能所有的操作都被回滚。QQ不可重复读(Non-repeatableReads)一个事务对同一行数据重复读取两次,但是却得到了不同的结果。它包括以下情况:(1)事务T1读取某一数据后,事务T2对其做了修改,当事务T1再次读该数据时得到与前一次不同的值。(2)幻读(PhantomReads):事务在操作过程中进行两次查询,第二次查询的结果包含了第一次查询中未出现的数据或者缺少了第一次查询中出现的数据(这里并不要求两次查询的SQL语句相同)。这是因为在两次查解决方案为了避免上面出现的几种情况,在标准SQL规范中,定义了4个事务隔离级别,不同的隔离级别对事务的处理不同。未授权读取也称为读未提交(mitted):允许脏读取,但不允许更新丢失。如果一个事务已经开始写数据,则另外一个事务则不允许同时进行写操作,但允许其他事务读此行数据。该隔离级别可以通过“排他写锁”实现。授权读取也称为读提交(mitted):允许不可重复读取,但不允许脏读取。这可以通过“瞬间共享读锁”和“排他写锁”实现。读取数据的事务允许其他事务继续访问该行数据,但是未提交的写事务将会禁止其他事务访问该行可重复读取可重复读取(RepeatableRead):禁止不可重复读取和脏读取,但是有时可能出现幻影数据。这可以通过“共享读锁”和“排他写锁”实现。读取数据的事务将会禁止写事务(但允许读事务),写事务则禁止任何其他事务。序列化序列化(Serializable):提供严格的事务隔离。它要求事务序列化执行,事务只能一个接着一个地执行,但不能并发执行。如果仅仅通过“行级锁”是无法实现事务序列化的,必须通过其他机制保证新插入的数据不会被刚执隔离级别越高,越能保证数据的完整性和一致性,但是对并发性能的影响也越大。对于多数应用程序,mitted。它能够避免脏读取,而且具有较好的并发性能。尽管它控制。在MySQL中设置事务隔离级别有2种方法:f中设置,在mysqld选项中如下设置[mysqld]transaction-isolation=MITTED2在mysql窗口用set命令重置1234mysql>setglobaltx_isolation='REPEATABLE-READ';QueryOK,0rowsaffected()mysql>查询当前的会话事务级别,可以使用:123456789mysql>select@***@tx_isolation;+----------------+|@***@tx_isolatio

MySQL事务学习-- 隔离级别 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数6
  • 收藏数0 收藏
  • 顶次数0
  • 上传人xxqq2017
  • 文件大小117 KB
  • 时间2019-01-18