标签:存在 数据 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:串行化。不存在并发问题。
标签:存在 数据 select 一个 sele 就会 不提交 隔离级别 个数
原文地址:https://www.cnblogs.com/pogusanqian/p/12550077.html