当前位置:网站首页>[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 .
边栏推荐
- Bottom problem of figure
- Realize IIC data / instruction interaction with micro batg135
- Mysql 45讲学习笔记(十四)count(*)
- Selenium driver ie common problem solving message: currently focused window has been closed
- centos8安装mysql.7 无法开机启动
- The most effective futures trend strategy: futures reverse merchandising
- Uniapp applet subcontracting
- JS common time processing functions
- About how idea sets up shortcut key sets
- 2022 is probably the best year for the economy in the next 10 years. Did you graduate in 2022? What is the plan after graduation?
猜你喜欢
Wechat applet scroll view component scrollable view area
Can the out of sequence message complete TCP three handshakes
Variables d'environnement personnalisées uniapp
Mysql 45讲学习笔记(七)行锁
[Valentine's day] - you can change your love and write down your lover's name
2022 wechat enterprise mailbox login entry introduction, how to open and register enterprise wechat enterprise mailbox?
【问题记录】03 连接MySQL数据库提示:1040 Too many connections
响应式移动Web测试题
uniapp小程序分包
Deep profile data leakage prevention scheme
随机推荐
selenium驱动IE常见问题解决Message: Currently focused window has been closed.
notepad++如何统计单词数量
Mysql 45讲学习笔记(十三)表数据删掉一半,表文件大小不变
Centos8 install mysql 7 unable to start up
What is a spotlight effect?
regular expression
Fundamentals of SQL database operation
CMS source code of multi wechat management system developed based on thinkphp6, with one click curd and other functions
MySQL 45 lecture learning notes (XIII) delete half of the table data, and the table file size remains the same
Download kicad on Alibaba cloud image station
Check and display one column in the known table column
Uniapp custom environment variables
【FPGA教程案例7】基于verilog的计数器设计与实现
Recursive Fusion and Deformable Spatiotemporal Attention for Video Compression Artifact Reduction
Su Weijie, a member of Qingyuan Association and an assistant professor at the University of Pennsylvania, won the first Siam Youth Award for data science, focusing on privacy data protection, etc
MySQL relearn 2- Alibaba cloud server CentOS installation mysql8.0
tars源码分析之1
Mysql 45讲学习笔记(七)行锁
[Valentine's day] - you can change your love and write down your lover's name
Design of test cases