视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
数据库分批查询数据
2020-11-09 15:03:18 责编:小采
文档


数据分批查询数据 前段时间由于线上项目的活动问题,发现向第三方系统请求数据的时候,请求的数据量竟然达到了3w多,请求的数据的方式采用Http请求的形式,事先没有想到会有这么多的数据量,所以只能分批去其他系统请求数据,每次请求200条,具体情况为:在

数据分批查询数据

前段时间由于线上项目的活动问题,发现向第三方系统请求数据的时候,请求的数据量竟然达到了3w多,请求的数据的方式采用Http请求的形式,事先没有想到会有这么多的数据量,所以只能分批去其他系统请求数据,每次请求200条,具体情况为: 在数据库中存在一张表,主要字段有user_id(用户名),count(物品数量),系统要求能够实时更行用户的物品数量,但是保存物品数量的接口不在自己的系统中,所以需要想起他的系统请求数据,主要是每次如何获得用户user_id,又不重复。主要学习的是用数据库Sql 语句的学习:
select top 200 user_id from(
	 SELECT 
	 (Row_number()
	 OVER(
	 ORDER BY user_id)) as ix,
	 user_id
	FROM [xxx].[dbo].t_world_cup_exchange_user_flag_list
	 GROUP BY user_id 
	 ) tt
where tt.ix > #{index,jdbcType=VARCHAR}
主要使用数据库函数,Row_number为返回的结果集生成特定的序列号,利用这个函数就能实现每次用200个不同的用户去请求数据,如从0~200,201~401,401~601... ...这样的序列开始选择自己需要的用户Id,当然在自己的程序需要保存这个index游标的值,并且保持能够循环。 --- --- 路漫漫其修远兮,吾将上下而求索

下载本文
显示全文
专题