云数据库 GaussDB-相同表的并发UPDATE
相同表的并发UPDATE
事务T1:
123 |
START TRANSACTION;UPDATE test SET address='test1234' WHERE name='test1';COMMIT; |
事务T2:
123 |
START TRANSACTION;UPDATE test SET address='test1234' WHERE name='test2';COMMIT; |
事务T3:
123 |
START TRANSACTION;UPDATE test SET address='test1234' WHERE name='test1';COMMIT; |
场景1:
开启事务T1,不提交的同时开启事务T2,事务T1开始执行UPDATE,事务T2开始执行UPDATE,事务T1和事务T2都执行成功。更新不同行时,更新操作拿的是行级锁,不会发生冲突,两个事务都可以执行成功。
场景2:
开启事务T1,不提交的同时开启事务T3,事务T1开始执行UPDATE,事务T3开始执行UPDATE,事务T1执行成功,事务T3等待超时后会出错。更新相同行时,事务T1未提交时,未释放锁,导致事务T3执行不成功。
- 华为云数据库 RDS for MySQL常见故障排除_华为云
- GaussDB数据库云备份_华为GaussDB_高斯数据库云备份
- GaussDB MPP_高斯数据库查看建表语句_高斯数据库 MPP_华为云
- 数据缓存_数据高并发_数据高可用-华为云
- GaussDB数据库概念_openGauss_华为高斯数据库概念
- GaussDB视频教程_gaussdb查看表结构语句_高斯数据库视频教程_华为云
- GaussDB工具_gaussdb怎么读_高斯数据库工具_华为云
- 云数据库RDS for MySQL数据恢复_数据恢复_表级恢复
- 免费的MySQL云数据库_数据库管理系统有哪些_MySQL查询表
- GaussDB咋样_openGauss和GaussDB的区别_高斯数据库咋样_华为云