事务、MVCC、锁

目录

事务

四大特性:ACID

脏读 :事务A读取到未提交事务B修改的数据
不可重复读 :事务A修改了未提交事务B读取的数据
幻读 :事务A增删了未提交事务B读取的数据

不可重复读与幻读都是读取的结果不同,前者侧重于修改,是对单条记录;后者侧重于增删,是查询出的结果集的变化

MVCC

概念:多版本并发控制,通过版本链 与Read View 来控制并发事务对相同记录的访问

版本链:记录中的roll_pointer指向的一系列操作的undo log链表

Read View:一致性视图,也叫快照,用来判断事务应该看到版本链中的哪个版本数据

锁

概念:多个未提交事务对同一条记录进行改动时,需要排队执行。通过为该记录加锁,这个锁本质上是一个在内存中的结构




相关推荐
不停喝水1 小时前
【前端转全栈java速通课】 项目实战④7-11节 操作数据库-登录-注册-修改密码-注销-mubatis-plus简化crud-
java·前端·数据库
leisoo80971 小时前
融资融券数据怎么查两融指标含义与杠杆观察方法 IG50免费开源股票数据API接口
开发语言·jvm·数据库·python·json
Aric_Jones2 小时前
pgsql内置publication/subscription功能,实现数据同步
数据库
有想法的py工程师2 小时前
PostgreSQL 字符集双重转义击穿 磁盘 I/O
数据库·postgresql
头发还在的女程序员2 小时前
【无标题】
网络·数据库·短剧小程序·短剧系统·海外短剧·短剧后台
千千寰宇2 小时前
[数据库系统] 数据库系统的设计原理研究
数据结构·数据库·database-opengemini/influxdb·database-dament/达梦
麦壳饼2 小时前
SonnetDB SQL 分页查询:LIMIT/OFFSET 与 FETCH 语法
数据库·sonnetdb
Gauss松鼠会2 小时前
【GaussDB】破除gaussdb ugin索引支持中文模糊查询的迷思-字符序
java·运维·服务器·网络·数据库·gaussdb·经验总结
l1t3 小时前
DeepSeek总结的PostgreSQL因选择而宽松,因偶然而永久
数据库·postgresql