首页常见问题正文

Python Mysql技能学习:事务隔离级别

更新时间:2024-01-10 来源:黑马程序员 浏览量:

IT培训班

  事务隔离级别指在同一个数据的多个事务中,当前事务何时能看到其他事务对数据修改的结果。MySQL有4种事务隔离级别,分别如下:

  1.Serializable:串行化,一个事务一个事务执行,并发行低。

  2.Repeatable read:可重复读,无论其他事务是否修改并提交了数据,在这个事务中看到的数据始终不受其他事务的影响。这是MySQL的默认事务隔离级别。

  3.Read committed:读取已提交,其他事务提交了对数据的修改后,本事务就能读取到修改后的数据值。

  4.Read uncommitted:读取未提交,其他事务只要修改了数据,即使未提交,本事务也能读取到修改后的数据值。

  MySQL默认的事务隔离级别为Repeatable read,这会导致多位用户同时购买同一商品时数据读取不及时。例如,一位用户这边的事务已经提交了数据的修改,但因为网络延迟或其他原因,事务尚未结束,此时其他用户的事务查询到的最新数据就会延迟。为了解决这一问题,应将数据库的隔离级别修改为Read committed,如此只要一个事务提交了数据的修改,其他事务便能及时查询到修改后的数据。

  打开MySQL命令,修改全局或当前session的事务隔离级别为Readcommitted的命令如下:

mysql> set [globale | session] transaction isolation level Read committed:


  本文版权归黑马程序员Python培训学院所有,欢迎转载,转载请注明作者出处。谢谢!

  作者:黑马程序员Python培训学院

  首发:https://python.itheima.com

分享到:
在线咨询 我要报名
和我们在线交谈!