关于TIDB不同session查询的数据不一致

假如有两个session会话,第一个session修改数据后,并且commit后,再查询数据,发现查询的数据是最新修改后的数据,而第二个session查询数据是之前版本的数据,官方建议在第二个会话里查询时,加上for update,请问大佬们有没有更好的办法,或者官方再进行优化一下,可以借鉴oracle的方式,那样TIDB数据库就更完美了

8 个赞

只有期待官方优化功能点了

3 个赞

希望早点完善此功能

6 个赞

这个我们反馈一下,看看后面是否有类似计划

2 个赞

tidb默认是snapshot isolation,第二个会话应该开启显示事务了吧。 tidb支持类似oracle的 RC隔离级别,通过参数 transaction_isolation设置

3 个赞

好的,我也通过设置事物级别来测试一下,看得行不

7 个赞

隔离级别可以调的吧

4 个赞

那只是因为默认隔离级别配置为可重复读,你的要求通过更改隔离级别为读提交就可以了

应该是默认隔离级别的问题,默认是同MySQL一样,可重复读,但是分布式数据库实现是使用快照隔离的,并不同于其他数据库的读已提交。

2 个赞

好的,我测试一下

6 个赞

好的,懂了

6 个赞

只要不是脏读和串行化。另外两种结合自己需求设置就行。
而且其实一般rc那种都可以满足。不必要rr

5 个赞

此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。