由于高事务,sql 浏览器和 java JDBC 中的计数不匹配

Count mismatch in sql browser and java JDBC, due to high transaction

我正在使用 SQL Server 2005。在此 table1 上有更多的并发访问。

当我在 SQL 浏览器中执行以下查询时,我得到了 2000 条记录,但是当使用 java 执行相同的查询时,没有记录 r 变化。

EX: 1st execution --> 2000 records,
    2nd execution --> 2005 records, 
    3rd execution --> 1990 records


 select 
     REGISTRATION_NO as TOTAL_ASSETS_COUNT 
 from 
     Contable1 a 
 inner join 
     table2 b on a.REGISTRATION_NO = b.Registration_no 
              and a.System_id = b.System_id 
 inner join 
     table3 c on b.Registration_no = c.VehicleNo 
              and b.System_id = c.System_id 
 where 
     a.CLIENTID = ? and a.System_id = ? and b.User_id=?

我使用隔离级别 READ COMMITTED

由于 table1 上的交易量很大,计数有所不同。

请帮助解决 java 中计数不同的原因。

注意:Registration_No 是主键。

提前致谢。

正如您所说,由于交易量大,计数存在差异。

可能有以下不同的可能性:

1) 在您读取数据之前,后台可能发生了一些事务。或者

2) 您加入的table中可能存在重复数据

3) 正如 @greet 所说,您加入的其他 table 的值可能会发生变化。

正如我要求您正确检查查询一样。如果您声称以上不是可能性。我请求您提供有关 table 架构的更多详细信息。