sharding-core icon indicating copy to clipboard operation
sharding-core copied to clipboard

注意开启事务后如果有新增 修改 删除的再次查询可能会查不出来,除非用sharding字段路由到单表

Open xuejmnet opened this issue 4 years ago • 5 comments

xuejmnet avatar Oct 17 '21 14:10 xuejmnet

除非本次查询不涉及跨表

xuejmnet avatar Oct 17 '21 14:10 xuejmnet

不涉及跨表使用相同dbtransaction

xuejmnet avatar Oct 17 '21 14:10 xuejmnet

因为开启事务然后处理新增、修改、删除,然后不提交事务,再次进行跨表查询,因为单个dbconntection不支持并发(MARS)除外,所以会新开启dbconnection那么多个dbconnection之间是不共享session的所以会导致未提交数据无法读取,除非你自定义withnolock或者使用noreadcommited隔离级别的事务

xuejmnet avatar Oct 31 '21 08:10 xuejmnet

考虑事务内跨表查询用with nolock

xuejmnet avatar Nov 10 '21 22:11 xuejmnet

涉及到分表的查询会无法查询出当前被hold的数据因为两者的conection是不同的

xuejmnet avatar Dec 15 '21 13:12 xuejmnet