sql - 可重复读取会导致可序列化吗?
问题描述
假设我有以下交易T1
和T2
.
--T1
UPDATE Employee SET Salary=Salary*10;
UPDATE Employee SET Bonus=Bonus+5;
--T2
SET TRANSACTION ISOLATION LEVEL REPEATABLE READ;
SELECT AVG(Salary) FROM Employee;
SELECT MAX(Bonus) FROM Employee;
据我了解,T2 中的可重复读取将对 Salary 进行锁定,并且仅在事务完成时才释放它。这是否意味着如果 T2 先开始,T1 将等到 T2 结束?因为在 T2 释放该锁(即完成时)之前,T1 将无法更新 Salary。
解决方案
推荐阅读
- javascript - 在Javascript中将函数分配给变量并使用声明调用它
- java - 项目选项卡中的 IntelliJ 源目录、类和方法/成员列表是否可以设置为与 Eclipse 中相同的显示/行为?
- android - 在 Kotlin 中调用函数 findViewById 后尖括号语法是什么意思
- google-apps-script - 使用 GAS 检查 ID 是否为文件或文件夹
- c# - 安全线程对象创建
- java - 选择 Java 依赖的版本
- html - SVG 'stroke-width' 改变对象的尺寸
- string - Perl:从文件读取后如何检查数组列中单词的最大宽度?
- android - 如何在移动开发者播放器(flutter/ios/android/reactnative)中播放 Prime 或 Netflix 视频?
- node.js - 在 reactjs 中进行服务器端调试