1 个回答
TiDB多行分布式事务执行流程如下:
1、Begin(开启一个事务)
1、Begin(开启一个事务)
此时会从PD获取一个TSO,假设为100
2、执行sqlupdate test set name=‘Jack’ where id=1;
update test set name=‘Candy’ where id=2;
3、Commit(提交事务)此时再次从PD获取一个TSO,假设为110
4、进入2PC阶段1)prewrite阶段:这里与单行数据事务最大的不同是,第二行数据的加锁信息:2(id),W(写锁),@1(跟随主锁1),2(id),100(事务开始的TSO),Candy(数据内容)
2)commit阶段:主锁释放后,跟随锁一起释放。
发布于:4周前 (02-27) IP属地:
我来回答
您需要 登录 后回答此问题!