數據庫分頁

數據分批查詢數據

     Sql Server:
前段時間由於線上項目的活動問題,發現向第三方系統請求數據的時候,請求的數據量竟然達到了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遊標的值,並且保持能夠循環。
 MySQL:
      select * from table limit pageId,limit 
     --- --- 路漫漫其修遠兮,吾將上下而求索
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章