令入参id为0
while(true){
select * from table where id>#{id} order by id asc limit 100;
取结果集中最大id作为下次查询的入参
其他操作
}
这个算法一般没问题,但在主从数据系统中,主库写,查询从库遍历数据时,出现了漏数据问题
原因是,主库同步到从库是多线程的,id较大的先同步到从库,等大id的数据处理完了,小id的数据再同步过来时,程序将不再处理
解决办法是,查询时排除时间戳是最近一分钟的数据
令入参id为0
while(true){
select * from table where id>#{id} order by id asc limit 100;
取结果集中最大id作为下次查询的入参
其他操作
}
这个算法一般没问题,但在主从数据系统中,主库写,查询从库遍历数据时,出现了漏数据问题
原因是,主库同步到从库是多线程的,id较大的先同步到从库,等大id的数据处理完了,小id的数据再同步过来时,程序将不再处理
解决办法是,查询时排除时间戳是最近一分钟的数据
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/81831.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!