当前位置:网站首页>[MySQL transaction]
[MySQL transaction]
2022-07-04 06:56:00 【No trace after wind 2018】
MySQL Basic knowledge of business
Business : A set of logical operating units , To change data from one state to another .
The transaction ACID characteristic
- Atomicity (atomicity):
Atomicity means that a transaction is an indivisible unit of work , Or submit it all , Either all failures roll back . - Uniformity (consistency):
Consistency refers to before and after transaction execution , Data from a legal state ( Meet the constraints in reality ) Change to another state of legitimacy . This state is Semantically Not grammatical , Related to specific business . - Isolated type (isolation):
Transaction isolation means that the execution of one transaction cannot be interfered by other transactions , That is, the internal operations of a transaction and the concurrency of the data pairs used Other transactions are isolated , Transactions that execute concurrently cannot interfere with each other . - persistence (durability):
Persistence means that once a transaction is committed , It changes the data in the database permanently , Other subsequent operations and database failures should not have any impact on it .
Data concurrency problem
The server handles multiple transactions at the same time , We want to maintain the isolation of transactions , And I want the server to have higher performance when processing transactions , The isolation level is used
Transactions that access the same data , What problems may occur during concurrent execution :
- Dirty write ( Dirty Write )
For two things Session A、Session B, If the transaction Session A Revised the other one Not submitted Business Session B A modified Number of numbers
According to the , That means something happened Dirty write - Dirty reading ( Dirty Read )
For two things Session A、Session B,Session A Read It has been Session B to update But Not submitted Field of .
Later, if Session B Roll back ,Session A Read The content of is Temporary and invalid Of . - It can't be read repeatedly ( Non-Repeatable Read )
For two things Session A、Session B,Session A Read It's a field , then Session B to update This field . after
Session A Read again Same field , The value is different 了 . That means that non repeatable . - Fantasy reading ( Phantom )
For two things Session A、Session B, Session A From a table Read It's a field , then Session B In the table insert Enter into Some new ones . after , If Session A Read again The same watch , There will be more lines . That means unreal reading .
MySQL Transaction isolation level for
MySQL The default isolation level for is REPEATABLE READ( Repeatable )
Higher isolation level , The better the data consistency , But the less concurrent .
- READ UNCOMMITTED : Read uncommitted , At this isolation level , All transactions can see the results of other uncommitted transactions . Can't avoid dirty reading 、 It can't be read repeatedly 、 Fantasy reading .
- READ COMMITTED : Read submitted , It satisfies the simple definition of isolation : A transaction can only see changes that have been committed by the transaction . This is the default isolation level for most database systems ( But it's not MySQL default ). Avoid dirty reading , But not repeatable 、 The unreal reading problem still exists .
- REPEATABLE READ : Repeatable , Business A After reading a piece of data , At this point, the transaction B This data has been modified and submitted , The transaction A Reread the data , Read the original content . Avoid dirty reading 、 It can't be read repeatedly , But the problem of unreal reading still exists . This is a MySQL The default isolation level of .
- SERIALIZABLE : Serializable , Make sure that transactions can read the same rows from a table . During the duration of this transaction , Prevent other transactions from inserting into the table 、 Update and delete operations . All concurrency problems can be avoided , But the performance is very low . It can avoid dirty reading 、 No repeated reading or phantom reading .
边栏推荐
- Google Chrome Portable Google Chrome browser portable version official website download method
- JS common time processing functions
- 请问旧版的的常用SQL怎么迁移到新版本里来?
- What is the sheji principle?
- 响应式——媒体查询
- Tar source code analysis Part 3
- [number theory] fast power (Euler power)
- Research on an endogenous data security interaction protocol oriented to dual platform and dual chain architecture
- the input device is not a TTY. If you are using mintty, try prefixing the command with ‘winpty‘
- 抽奖系统测试报告
猜你喜欢
校园网络问题
How notepad++ counts words
the input device is not a TTY. If you are using mintty, try prefixing the command with ‘winpty‘
Flink memory model, network buffer, memory tuning, troubleshooting
[backpack DP] backpack problem
2022 where to find enterprise e-mail and which is the security of enterprise e-mail system?
NLP-文献阅读总结
com. alibaba. nacos. api. exception. NacosException
Uniapp custom environment variables
图的底部问题
随机推荐
tars源码分析之2
uniapp小程序分包
内卷怎么破?
Code rant: from hard coding to configurable, rule engine, low code DSL complexity clock
ADC voltage calculation of STM32 single chip microcomputer
Selection (021) - what is the output of the following code?
What is the sheji principle?
2022年6月小结
Variables d'environnement personnalisées uniapp
响应式移动Web测试题
Common usage of time library
leetcode 310. Minimum Height Trees
Selection (022) - what is the output of the following code?
颈椎、脚气
Responsive - media query
[backpack DP] backpack problem
the input device is not a TTY. If you are using mintty, try prefixing the command with ‘winpty‘
Boosting the Performance of Video Compression Artifact Reduction with Reference Frame Proposals and
About how idea sets up shortcut key sets
《国民经济行业分类GB/T 4754—2017》官网下载地址