当前位置:网站首页>Linux server development, MySQL transaction principle analysis
Linux server development, MySQL transaction principle analysis
2022-07-07 07:55:00 【Tuen Mun pheasant calls me chicken】
Recommend a free open course of zero sound College , Personally, I think the teacher spoke well , Share with you :Linux,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK, Streaming media ,CDN,P2P,K8S,Docker,TCP/IP, coroutines ,DPDK Etc , Learn now
1. What is the business
A transaction is going from one consistency state to another consistency state .
sentence
- START TRANSACTION | BEGIN
- COMMIT
- ROLLBACK
- SAVEPOINT identifier
- ROLLBACK TO SAVEPOIN
2.ACID characteristic
Atomicity (A)
Commit transactions or do all , Either not .
Uniformity (C)
A transaction unit can only be visible by other transactions after committing transactions .
Isolation, (I)
Multiple connections process data at the same time , Don't affect each other . To improve performance , Through granularity lock , Set different isolation levels .
persistence (D)
DML Operations are persisted , Even if it goes down , Data can be retrieved according to the log .
3. Isolation level
READ UNCOMMITTED
Read uncommitted , Reads at this level are unlocked , Write and lock it , Write locks release locks after a transaction is committed or rolled back .
READ COMMITTED
Read submitted RC, Support... From this level MVCC, That is, to provide consistent, unlocked reads ; At this time, read the historical snapshot data ; Read the latest data of the historical version under this isolation level , So read the submitted data .
REPEATABLE READ
Repeatable RR, Support MVCC, At this time, the read operation reads the version data at the beginning of the transaction .
SERIALIZABLE
Serialization , Support MVCC, The highest level of isolation .
command :
– Set level isolation
SET GLOBAL |SESSION TRANSACTION ISOLATION LEVE REPEATABLE READ;
SET @@tx_isolation=‘REPEATABLE READ’;
SET @@global.tx_isolaction =‘REPEATABLE READ’;
– View global level isolation
SELECT @@global.tx_isolation;
– View the current level of isolation
SELECT @@session.tx_isolation;
SELECT @@tx_isolation;
– Manually add... To the reading S Read the lock
SELECT … LOCK IN SHARE MODE;
– Manually add... To the reading X Write lock
SELECT …FOR UPDATE;
– View the current lock information
SELECT &FROM information_schema.innodb_locks;
S Shared lock :
Lock added by transaction read operation , Lock every line , Only serialization will add S lock .
x Exclusive lock :
The transaction deletes or updates the lock added , Lock on a line . This lock is added to all four isolation levels .
IS Intention sharing lock :
Intention lock is to tell other things , This form is in use . Function exclusion table lock reading . Insert with IS, add X. Use exclusive locks indirectly .
IX Intention exclusive lock :
Intention locks and read-write locks at the full table level will conflict , Intention will only conflict with row lock , Row lock conflicts with row lock .
GAP LOCK Clearance lock and NEXT-KEY Lock these two locks only in READ REPEATE Exists under level . The clearance lock locks a range , But not the record itself , Fully open section NEXT-KEY It's a record lock + Clearance lock , Lock a range and record itself , Left open right closed interval . These two locks often cause deadlocks .
INSERT INTENTION LOCK, For example 1,7 Row insertion , If there is an intention to insert a lock, it can be inserted simultaneously 3,4. Improve the concurrency performance of the insertion gap .
AUTO INCR-LOCK Low probability of self incrementing lock B+ The split of the tree , Improved self growth value insertion performance .
Dirty reading
Business A Read another uncommitted transaction .
It can't be read repeatedly
Business A You can read about affairs B Data submitted , It usually happens in a transaction that reads data different from the transaction .
Fantasy reading
Read the same range of data twice , Result set ( More or different data ) Dissimilarity . Non repeatable reading refers to row data , Unreal reading refers to the scope .
Locking before a transaction starts is a persistent lock , The lock is released only when the transaction is committed or rolled back .
Lost update
Both transactions are written , It is divided into commit overrides and rollback overrides . Rollback overwrite has been rejected by the database .
Look at deadlocks
– Turn on standard monitoring
- CREATE TABLE innodb_monitor(a INT) ENGINE=INNODB;
– Turn off standard monitoring - DROP TABLE innodb_monitorl
– Turn on the lock monitor - CREATE TABLE innodb_lock_monitor ( INT ) ENGINE=INNOB;
– Turn off lock monitoring - DROP TABLE innodb_lock_monitor
– Turn on standard monitoring
- set GLOBAL innodb_status_output_ON;
– Turn off standard monitoring - set GLOBAL innodb_status_status_output=OFF;
– Turn on the lock monitor - set GLOBAL innodb_status_outpus_locks=ON;
– Turn off lock monitoring - set GLOBAL innodb_status_output_locks=OFF;
– Record deadlock information in the error log - set GLOBAL innodb_print_all_deadlocks=ON;
边栏推荐
- LeetCode 90:子集 II
- 微信小程序中的路由跳转
- The principle and implementation of buffer playback of large video files
- Most elements
- Kbu1510-asemi power supply special 15A rectifier bridge kbu1510
- 【经验分享】如何为visio扩展云服务图标
- [UVM practice] Chapter 2: a simple UVM verification platform (2) only driver verification platform
- 测试周期被压缩?教你9个方法去应对
- 2022 welder (elementary) judgment questions and online simulation examination
- [UVM practice] Chapter 1: configuring the UVM environment (taking VCs as an example), run through the examples in the book
猜你喜欢
2022焊工(初级)判断题及在线模拟考试
这5个摸鱼神器太火了!程序员:知道了快删!
Figure out the working principle of gpt3
padavan手动安装php
LeetCode 40:组合总和 II
Hands on deep learning (IV) -- convolutional neural network CNN
2022 recurrent training question bank and answers of refrigeration and air conditioning equipment operation
nacos
[UTCTF2020]file header
[unity] several ideas about circular motion of objects
随机推荐
微博发布案例
Kbu1510-asemi power supply special 15A rectifier bridge kbu1510
Live broadcast platform source code, foldable menu bar
[SUCTF 2019]Game
Mysql高低版本切换需要修改的配置5-8(此处以aicode为例)
Leetcode 40: combined sum II
Tongda injection 0day
【webrtc】m98 screen和window采集
Technology cloud report: from robot to Cobot, human-computer integration is creating an era
C语言航班订票系统
Wx is used in wechat applet Showtoast() for interface interaction
paddlepaddle 29 无模型定义代码下动态修改网络结构(relu变prelu,conv2d变conv3d,2d语义分割模型改为3d语义分割模型)
Explore Cassandra's decentralized distributed architecture
Operation suggestions for today's spot Silver
【经验分享】如何为visio扩展云服务图标
@component(““)
3D reconstruction - stereo correction
misc ez_usb
A bit of knowledge - about Apple Certified MFI
Cnopendata geographical distribution data of religious places in China