mysql 事务隔离级别

深碍√TFBOYSˉ_ 2022-05-30 11:50 447阅读 0赞

mysql 事务隔离级别一共有四种(r-u, r-c, r-r, s)

  • 读未提交(read uncommited)
  1. > 读未提交指的是: 在当前事务中可以读取到其他事务中尚未提交的数据 隔离级别最低,干扰性最大,会产生幻读
  • 读已提交(read commited)

    读提交指的是: 当前事务中只能读取到其他事务以及提交的数据,该级别下也会产生幻读

  • 可重读 (repatable read) 这个是默认的隔离级别

    可重读指的是: 无论其他事务是否提交,在当前事务中只要当前事务尚未提交,则看到的始终是一致的,该级别下依然会产生幻读,例如事务开始时读取到的表中数据是10条,当我们在事务里面插入了2条数据,提交后应该是12条,但是当并发情况下其他事务删除了表中数据时,我们提交事务后再查询得到的数据就不是12条

  • 可串行(seriablizable)

    可串行指的是: 该级别下事务无法并发执行,只能以串行的方式,这种方式不会产生幻读,但是性能最差

查看默认的隔离级别

show global variables like '%iso';

发表评论

表情:
评论列表 (有 0 条评论,447人围观)

还没有评论,来说两句吧...

相关阅读

    相关 MySQL事务-隔离级别

    事务的并发问题 1. 脏读:事务A读取了事务B更新的数据,然后B回滚操作,那么A读取到的数据是脏数据 2. 不可重复读:事务 A 多次读取同一数据,事务 B 在事务A

    相关 MySQL事务隔离级别

    数据库是多线程并发访问的,所以很容易出现多个线程同时同时开启事务的情况,这样就会出现脏读、重复读及幻读的情况,通过为事物设置隔离级别,来避免这种情况的发生。 在 MySQL