温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

事务隔离级别

发布时间:2020-08-06 17:17:02 来源:网络 阅读:161 作者:shixiazhoujun 栏目:MySQL数据库
  • 事务隔离是数据库处理的基础之一,Isolation是ACID中I的缩写,当多个事务同时进行更改和执行查询时,隔离级别是微调性能和可靠性、一致性和结果再现性之间的平衡的设置
  • MySQL支持以下几个隔离级别
    • REPEATABLE READ (innodb使用的默认级别)
    • READ COMMITTED
    • READ UNCOMMITTED
    • SERIALIZABLE
  • REPEATABLE READ(当执行一个范围查询时,会发生幻读问题)
    • 这是innodb默认的隔离级别,同一事务中的一致读读取由第一个读取建立的快照,意味着如果你在同一个事务中发送多次一样(没有锁的)的select语句,这些SELECT语句返回的结果在相互之间也是一致的。
  • READ COMMITTED(有不可重复读问题)
    • 每一个一致读,即使在同一事务中,都会设置并读取它自己的新快照
  • READ UNCOMMITTED(有脏读问题)
    • SELECT语句是在一个非锁定的方式进行,但是有可能会使用更早版本的行数据,因此,使用这个隔离级别,读不是一致的,称之为脏读,否则,此隔离级别工作机制类似于
  • SERIALIZABLE(脏读,不可重复读,幻读问题都不会发生)

    • 这个级别有点像REPEATABLE READ,但是innodb隐式的将所有SELECT语句传唤成SELECT ... LOCK IN SHARE MODE除了autocommit 被禁止这种情况,如果启用autocommit,则SELECT是它自己的事务。
  • 事务隔离主要的作用在于解决并发带来的脏读,不可重复读,幻读问题,详细内容请看我的下一篇文章
向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI