当前位置:网站首页>[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 .

边栏推荐
- How to share the source code anti disclosure scheme
- MySQL 45 lecture learning notes (XIII) delete half of the table data, and the table file size remains the same
- 云Redis 有什么用? 云redis怎么用?
- MySQL 45 learning notes (XI) how to index string fields
- 抽奖系统测试报告
- ADC voltage calculation of STM32 single chip microcomputer
- Bottom problem of figure
- Introduction to spark core components
- Boosting the Performance of Video Compression Artifact Reduction with Reference Frame Proposals and
- About how idea sets up shortcut key sets
猜你喜欢

Mobile adaptation: vw/vh

2022 where to find enterprise e-mail and which is the security of enterprise e-mail system?

The important role of host reinforcement concept in medical industry

Boosting the Performance of Video Compression Artifact Reduction with Reference Frame Proposals and

MySQL 45 lecture learning notes (VII) line lock

BasicVSR++: Improving Video Super-Resolutionwith Enhanced Propagation and Alignment

用于压缩视频感知增强的多目标网络自适应时空融合

leetcode825. Age appropriate friends

Fundamentals of SQL database operation

Uniapp applet subcontracting
随机推荐
校园网络问题
How notepad++ counts words
Cervical vertebra, beriberi
云Redis 有什么用? 云redis怎么用?
Mysql 45讲学习笔记(十一)字符串字段怎么加索引
Can the out of sequence message complete TCP three handshakes
【问题记录】03 连接MySQL数据库提示:1040 Too many connections
[FPGA tutorial case 8] design and implementation of frequency divider based on Verilog
Mysql 45讲学习笔记(十)force index
Option (024) - do all objects have prototypes?
抽奖系统测试报告
2022 wechat enterprise mailbox login entry introduction, how to open and register enterprise wechat enterprise mailbox?
【MySQL】数据库视图的介绍、作用、创建、查看、删除和修改(附练习题)
thread priority
同一个job有两个source就报其中一个数据库找不到,有大佬回答下吗
Deep profile data leakage prevention scheme
tars源码分析之1
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?
Deep understanding of redis -- a new type of bitmap / hyperloglgo / Geo
BasicVSR++: Improving Video Super-Resolutionwith Enhanced Propagation and Alignment