TIDB集群内写成功后立刻读是否会存在读不到数据的情况

唯一需要注意的就是tidb的默认事务隔离级别是RR不是RC。
https://docs.pingcap.com/zh/tidb/stable/system-variables#transaction_isolation

https://docs.pingcap.com/zh/tidb/stable/transaction-isolation-levels#可重复读隔离级别-repeatable-read

当事务隔离级别为可重复读时,只能读到该事务启动时已经提交的其他事务修改的数据,未提交的数据或在事务启动后其他事务提交的数据是不可见的。对于本事务而言,事务语句可以看到之前的语句做出的修改。

begin t1;
update t;
begin t2
commit t1;
select from t --RR事务隔离级别这个时候看不到update t ,因为begin t2的时候t1没有提交。
commit t2
select from t --这个时候才可以看到update t

1 个赞