当前位置:网站首页>The isolation level of transaction and its problems
The isolation level of transaction and its problems
2020-11-06 21:19:00 【Irving the procedural ape】
One 、 The basic elements of a business (ACID)
1、 Atomicity (Atomicity): All operations after the transaction begins , Or all of them , Or not at all , It's impossible to stay in the middle . An error occurred during the execution of the transaction , It rolls back to the state it was in before the transaction started , All the operations are as if they didn't happen . That is to say, a business is an indivisible whole , It's like atoms in chemistry , Is the basic unit of material composition .
2、 Uniformity (Consistency): Before and after the transaction starts , The database integrity constraint is not broken . such as A towards B Transfer accounts , impossible A Buckle the money ,B Has received .
3、 Isolation, (Isolation): At the same time , Only one transaction is allowed to request the same data , There is no interference between the different transactions . such as A Withdrawing money from a bank card , stay A Before the withdrawal process is over ,B You can't transfer money to this card .
4、 persistence (Durability): After the transaction completes , All updates to the database by the transaction are saved to the database , Cannot be rolled back .
Two 、SQL Standard transaction isolation level (mysql The default is repeatable ,oracle The default is read committed )
- Read uncommitted (read uncommitted) Refer to , When a transaction has not yet been committed , The changes it makes can be seen by other things .
- Read submitted (read committed) Refer to , After a transaction is committed , The changes it makes will be seen by other things .
- Repeatable (repeatable read) Refer to , Data seen during the execution of a transaction , It is always consistent with the data seen when the transaction is started . Of course, at the level of repeatable read isolation , Uncommitted changes are also invisible to other transactions .
- Serialization (serializable ), As the name suggests, for the same line of records ,“ Write ” Will add “ Write lock ”,“ read ” Will add “ Read the lock ”. When there is a read/write lock conflict , Subsequent transactions must wait for the previous transaction to complete , To carry on That's ok .
Example
| Business one | Business two |
|---|---|
| Start transaction A, Inquire about A=10 | Start transaction B |
| Inquire about A=10, to update A=20 | |
| The query value a1 | |
| Commit transaction B | |
| The query value a2 | |
| Commit transaction A | |
| The query value a3 |
If isolation level is “ Read uncommitted ”, be a1 The value is 20, although B Not submitted 2 But it turns out to be A I saw it
If isolation level is “ Read submitted ”, be a1 yes 10,a2 The value of is 2. Business B Can't be updated until it's submitted A notice . therefore , a3 The value of is also 2.
If isolation level is “ Repeatable ”, be a1、a2 yes 10,a3 yes 20. The reason a2 still 10, That's what we're following : The data that the transaction sees during execution must be consistent before and after .
If isolation level is “ Serialization ”, It's business B perform “ take A=10 Change to 20” When , Will be locked . Until transaction A After submission , Business B To continue . So from A From the perspective of , a1、a2 The value is 10,a3 The value of is 20
3、 ... and 、 How to set and view isolation level
- Read uncommitted :read uncommitted
- Read submitted :read committed
- Repeatable :repeatable read
- Serialization :serializable
Check the isolation level
show variables like 'transaction_isolation';
Set up innodb The transaction level method is :set Scope transaction isolation level Transaction isolation level , for example ~
SET [SESSION | GL.........
版权声明
本文为[Irving the procedural ape]所创,转载请带上原文链接,感谢
边栏推荐
- image operating system windows cannot be used on this platform
- Event monitoring problem
- In depth to uncover the bottom layer of garbage collection, this time let you understand her thoroughly
- Markdown tricks
- Digital city responds to relevant national policies and vigorously develops the construction of digital twin platform
- Application of restful API based on MVC
- Stickinengine architecture 12 communication protocol
- Helping financial technology innovation and development, atfx is at the forefront of the industry
- 细数软件工程----各阶段必不可少的那些图
- Hdu3974 assign the task segment tree DFS order
猜你喜欢

意派Epub360丨你想要的H5模板都在这里,电子书、大转盘、红包雨、问卷调查……
![Tron smart wallet PHP development kit [zero TRX collection]](/img/3b/00bc81122d330c9d59909994e61027.jpg)
Tron smart wallet PHP development kit [zero TRX collection]

Behind the record breaking Q2 revenue of Alibaba cloud, the cloud opening mode is reshaping

2020 database technology conference helps technology upgrade

What is the meaning of sector sealing of filecoin mining machine since the main network of filecoin was put online

jenkins安装部署过程简记

What is the purchasing supplier system? Solution of purchasing supplier management platform

Small program introduction to proficient (2): understand the four important files of small program development

CloudQuery V1.2.0 版本发布
![[forward] how to view UserData in Lua](/img/3b/00bc81122d330c9d59909994e61027.jpg)
[forward] how to view UserData in Lua
随机推荐
Python basic variable type -- list analysis
Application insights application insights use application maps to build request link views
2020-08-19:TCP是通过什么机制保障可靠性的?
How much disk space does a file of 1 byte actually occupy
2020-09-09:裸写算法:两个线程轮流打印数字1-100。
Git rebase is in trouble. What to do? Waiting line
GitHub: the foundation of the front end
Top 5 Chinese cloud manufacturers in 2018: Alibaba cloud, Tencent cloud, AWS, telecom, Unicom
预留电池接口,内置充放电电路及电量计,迅为助力轻松搞定手持应用
2020-09-03:裸写算法:回形矩阵遍历。
谷歌浏览器实现视频播放加速功能
Building a new generation cloud native data lake with iceberg on kubernetes
Take you to learn the new methods in Es5
2020-08-18:介绍下MR过程?
Digital city responds to relevant national policies and vigorously develops the construction of digital twin platform
JVM memory allocation - xms128m - xmx512m - XX: permsize = 128M - XX: maxpermsize = 512M
An article taught you to download cool dog music using Python web crawler
Summary of front-end performance optimization that every front-end engineer should understand:
检测证书过期脚本
How much disk space does a new empty file take?