码迷,mamicode.com
首页 > 编程语言 > 详细

065_SpringMVC事物

时间:2020-03-23 09:27:39      阅读:80      评论:0      收藏:0      [点我收藏+]

标签:存在   数据   select   一个   sele   就会   不提交   隔离级别   个数   

五个事物隔离级别:

查看事物隔离级别命令:select @@tx_isolation;
设置事物隔离级别:set global transaction isolation level ***
1)read uncommitted:读未提交级别,
2)read committed:读已提交级别
3)repeatable read;可重复读级别
4)串行化

当我们模拟转账系统时,我们打开的两个窗口,实际上就是两个线程。当模拟转账业务时,张三将业务提交了,但是李四可以不提交业务。

当我们开启事物的时候,每个线程都会备份一个数据库表。每个线程管理自己的线程表,不能管理别人的线程表
read uncommitted:读取为提交级别,这个指的是读取数据库中未提交的表。这个好像常常用于双十一表单的提交。减少数据库操作。

read committed:当我采取这种隔离级别的时候,张三可以读取到转账(未提交时),但是李四读取数据却没有发生变化。但是当张三提交后,李四的数据就会发生变化。

repeatable read:当我采取这种方式时,李四读取的数据提交后,依然也不会发生改变。
但是张三的数据,更改后不管提交与否都不会发生该表。


? READ_UNCOMMITTED:读未提交。未解决任何并发问题。
? READ_COMMITTED:读已提交。解决脏读,存在不可重复读与幻读。
? REPEATABLE_READ:可重复读。解决脏读、不可重复读,存在幻读
? SERIALIZABLE:串行化。不存在并发问题。

065_SpringMVC事物

标签:存在   数据   select   一个   sele   就会   不提交   隔离级别   个数   

原文地址:https://www.cnblogs.com/pogusanqian/p/12550077.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!