当前位置:网站首页>[MySQL transaction]

[MySQL transaction]

2022-07-04 06:56:00 No trace after wind 2018

Business : A set of logical operating units , To change data from one state to another .

The transaction ACID characteristic

  1. Atomicity (atomicity):
    Atomicity means that a transaction is an indivisible unit of work , Or submit it all , Either all failures roll back .
  2. 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 .
  3. 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 .
  4. 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 :

  1. 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
  2. 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 .
  3. 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 .
  4. 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 .

  1. 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 .
  2. 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 .
  3. 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 .
  4. 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 .
     Insert picture description here
原网站

版权声明
本文为[No trace after wind 2018]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/02/202202141554182281.html