1. 程式人生 > >數據庫分頁

數據庫分頁

http請求 庫函數 () art hit har 方式 其它 space

數據分批查詢數據

Sql Server: 前段時間因為線上項目的活動問題,發現向第三方系統請求數據的時候,請求的數據量居然達到了3w多,請求的數據的方式採用Http請求的形式。事先沒有想到會有這麽多的數據量,所以僅僅能分批去其它系統請求數據,每次請求200條,詳細情況為: 在數據庫中存在一張表,主要字段有user_id(username),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 
--- --- 路漫漫其修遠兮,吾將上下而求索

數據庫分頁