TiDB和MySQL在RR隔离级别下,行为还是有一些差异的,TiDB把SI近似认为成RR。在MySQL中,START TRANSACTION后不会立即创建快照,而是等第一条SQL执行的时候才创建快照。在TiDB中,START TRANSACTION就会立即创建一致性快照,等价于MySQL中的START TRANSACTION WITH CONSISTENT SNAPSHOT。所以在你的场景中,需要排查一下sum操作是什么时候开启事务的,会不会是因为TiDB中提前创建了这个快照,导致sum看不见更新后的数据
1 个赞