zoukankan      html  css  js  c++  java
  • 数据库分页

    数据分批查询数据

         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 
         --- --- 路漫漫其修远兮,吾将上下而求索
  • 相关阅读:
    DBCC CHECKDB 数据库或表修复
    数据一致性错误
    SQL Server如何用最小的磁盘来时时访问Oracle
    What 's the meaning of "WindowsonWindows" layer?
    linux解压 tar命令
    ZendStudio中设置SVN:ignore
    微盾PHP脚本加密专家解密算法
    修改linux服务器的时间
    phpmyadmin是空白或很慢的解决办法
    linux 下安装json
  • 原文地址:https://www.cnblogs.com/blfbuaa/p/7052557.html
Copyright © 2011-2022 走看看