当前位置:网站首页>Database isolation level
Database isolation level
2022-07-06 06:15:00 【Snow peak expensive】
According to the problems caused by concurrency , Modify the isolation level to avoid .
One 、 Update missing :
background : Isolation level :READ-UNCOMMITED
Due to withdrawal transaction rollback , As a result, the modified data of the deposit transaction is overwritten . An update was lost .
solve : because InnoDB Will lock us , So this situation will not happen today .
Two 、 Dirty reading
background : Isolation level :READ-UNCOMMITTED
Due to reading the data of uncommitted transactions , Cause exception .
Someone has 1000 element .
I read about the withdrawal transaction 1000.
Withdrawal transaction deduction 100 Yuan Yu 900 element .
I read about the deposit transaction 900 element .
The withdrawal transaction rolled back , Remnant 1000 .
Deposit transactions with read 900+1000, Remnant 1900 element .
The withdrawal was cancelled , Resulting in less deposits 100.
solve : Set isolation level :set session transation isolation level read committed;
Isolation level :READ-COMMITTED
Someone has 1000 element .
I read about the withdrawal transaction 1000.
Withdrawal transaction deduction 100 Yuan Yu 900 element .
I read about the deposit transaction 1000 element .
The withdrawal transaction rolled back , Remnant 1000 .
Deposit transactions with read 1000+1000, Remnant 2000 element .
The withdrawal was cancelled , The correctness of the data is not affected .
3、 ... and 、 It can't be read repeatedly
background : Isolation level :READ-COMMITTED
Business A Read data multiple times , Business B In the transaction A In the process of reading many times, the data is modified and submitted . Cause transaction A The data read each time is different .
Business A I read 1000 element .
Business B I read 1000 element . Add 1000, Remnant 2000.
Business A I read again 1000 element .( Because the isolation level is READ-COMMITTED)
Business B Submit .
Business A I read 2000. As a result, the data read before and after are different .
solve : Set isolation level :set session transation isolation level repeatable read;
Isolation level :REPEATABLE-READ
Business A I read 1000 element .
Business B I read 1000 element . Add 1000, Remnant 2000.
Business A I read again 1000 element .( Because the isolation level is READ-COMMITTED)
Business B Submit .
Business A I read 1000. The data read before and after are the same .
namely : The current transaction is submitted regardless of how other transactions are modified , I still use my own data .
Four 、 Fantasy reading
background : Isolation level :REPEATABLE-READ
Business A Currently, we have found 4 Data .
Business B Insert \ Delete A piece of data , Submit .
Business A Update data , Found an update 5 strip \3 strip . There seems to be an illusion .
solve : Set isolation level :set session transation isolation level serializable;
Isolation level :SERIALIZABLE
namely : Serial . But it will affect the concurrency efficiency .
summary
边栏推荐
猜你喜欢
Nodejs realizes the third-party login of Weibo
异常检测方法总结
Fault, error, failure of functional safety
nodejs实现微博第三方登录
PAT(乙级)2022年夏季考试
Detailed explanation of P problem, NP problem, NPC problem and NP hard problem
The ECU of 21 Audi q5l 45tfsi brushes is upgraded to master special adjustment, and the horsepower is safely and stably increased to 305 horsepower
黑猫带你学eMMC协议第10篇:eMMC读写操作详解(read & write)
【Postman】Collections配置运行过程
假设检验学习笔记
随机推荐
The ECU of 21 Audi q5l 45tfsi brushes is upgraded to master special adjustment, and the horsepower is safely and stably increased to 305 horsepower
[wechat applet] build a development tool environment
The ECU of 21 Audi q5l 45tfsi brushes is upgraded to master special adjustment, and the horsepower is safely and stably increased to 305 horsepower
Eigen稀疏矩阵操作
黑猫带你学eMMC协议第10篇:eMMC读写操作详解(read & write)
nodejs实现微博第三方登录
Embedded point test of app
[postman] collections configuration running process
【Postman】Collections配置运行过程
isam2运行流程
對數據安全的思考(轉載)
Isam2 and incrementalfixedlagsmooth instructions in gtsam
Expose the serial fraudster Liu Qing in the currency circle, and default hundreds of millions of Cheng Laolai
Caused by:org. gradle. api. internal. plugins . PluginApplicationException: Failed to apply plugin
使用Nacos管理配置
Reading notes of effective managers
全程实现单点登录功能和请求被取消报错“cancelToken“ of undefined的解决方法
The ECU of 21 Audi q5l 45tfsi brushes is upgraded to master special adjustment, and the horsepower is safely and stably increased to 305 horsepower
[eolink] PC client installation
IPv6 comprehensive experiment