当前位置:网站首页>数据库-当前读与快照读
数据库-当前读与快照读
2022-07-06 06:08:00 【雪峰.贵】
当前读:insert update delete for update
快照读:不加锁的非阻塞读,select。目的是为了提高并发性能
在RC隔离级别下,当前读与快照读结果是一样的。
在RR隔离级别下,当前读与快照读结果有可能是不一样的
例如
事务1 与事务2 都读了一条数据。
select * from user where id =1;
id money
1 200
事务2 修改数据
update user set money = 1000 where id = 1;
commit;
事务1 再读(快照读):
select * from user where id = 1;
id money
1 200
而在执行(当前读) select * from user where id = 1 for update;
id money
1 1000
RR 级别下非阻塞读的实现原理:
数据行实际还有3个字段分别为:
DB_TRX_ID :修改这个数据的事务ID
DB_ROLL_PRT:回滚指针
DB_ROW_ID:隐藏的行ID
事务id=1,把数据从12 改为了32。
- 该行加排他锁
- 复制修改前数据,到undo log里面
- 修改当前行数据,填写事务id,回滚指针
事务id=2,又对此行进行Field3进行修改. - 加排他锁
- 复制修改前数据,到undo
- 修改当前行数据,填写事务id,回滚指针
每做一次修改,都会生成一条UNDO log数据。在事务来快照读数据的时候会通过readView算法,用当前事务id与log的DB_TRX_ID比较来确定是取哪个版本的数据。
边栏推荐
- 数学三大核心领域概述:几何
- C language bubble sort
- Linux regularly backs up MySQL database
- 【C语言】字符串左旋
- (中)苹果有开源,但又怎样呢?
- [postman] dynamic variable (also known as mock function)
- IPv6 comprehensive experiment
- Overview of three core areas of Mathematics: geometry
- Thoughts on data security (Reprint)
- Accélération de la lecture vidéo de l'entreprise
猜你喜欢
【API接口工具】postman-界面使用介绍
[Thesis code] SML part code reading
[postman] test script writing and assertion details
Buuctf-[bjdctf2020]zjctf, but so (xiaoyute detailed explanation)
10M25DCF484C8G(FPGA) AMY-6M-0002 BGA GPS模块
技术分享 | 常见接口协议解析
[web security] nodejs prototype chain pollution analysis
【Tera Term】黑猫带你学TTL脚本——嵌入式开发中串口自动化神技能
The ECU of 21 Audi q5l 45tfsi brushes is upgraded to master special adjustment, and the horsepower is safely and stably increased to 305 horsepower
(中)苹果有开源,但又怎样呢?
随机推荐
Usage of test macro of GTEST
【论文代码】SML部分代码阅读
[Thesis code] SML part code reading
曼哈顿距离和-打印菱形
The ECU of 21 Audi q5l 45tfsi brushes is upgraded to master special adjustment, and the horsepower is safely and stably increased to 305 horsepower
Expose the serial fraudster Liu Qing in the currency circle, and default hundreds of millions of Cheng Laolai
LeetCode 731. 我的日程安排表 II
Sqlmap tutorial (III) practical skills II
Overview of three core areas of Mathematics: geometry
Coordinatorlayout+nestedscrollview+recyclerview pull up the bottom display is incomplete
Request forwarding and redirection
对数据安全的思考(转载)
【C语言】字符串左旋
Function of activation function
在线问题与离线问题
[postman] dynamic variable (also known as mock function)
Embedded point test of app
Investment strategy discussion and market scale prediction report of China's solid state high power amplifier industry from 2022 to 2028
Database: ODBC remote access SQL Server2008 in oracel
MySQL之数据类型