首页 > 其他分享 >大数据量下查询分页

大数据量下查询分页

时间:2024-10-09 16:59:38浏览次数:8  
标签:数据量 分页 page 查询 num key id row


使用 SQL 实现分页批处理,可以按照如下步骤进行:

首先将数据按照主键排序,然后调用窗口函数 row_number() 为每一行数据生成行号,接着调用聚合函数按照设置好的页面大小对行号进行分组,最终计算出每页的最小值和最大值。


SELECT floor((t.row_num - 1) / 1000) + 1 AS page_num, min(t.id) AS start_key, max(t.id) AS end_key, count(*) AS page_size FROM ( SELECT id, row_number() OVER (ORDER BY id) AS row_num FROM books ) t GROUP BY page_num ORDER BY page_num;
接下来,只需要使用 WHERE id BETWEEN start_key AND end_key 语句查询每个分片的数据即可。修改数据时,也可以借助上面计算好的分片信息,实现高效的数据更新。
详细请参考:分页查询 | TiDB 文档中心 (pingcap.com)

 

标签:数据量,分页,page,查询,num,key,id,row
From: https://www.cnblogs.com/bingrong/p/18454671

相关文章

  • 查询计算移出数据库用 Java 太慢咋办
    很多现代应用会把数据计算和处理任务从数据库移出来采用Java实现,这样能获得架构上的好处,而且Java有完善过程处理能力,应对日益复杂的业务逻辑比SQL更得心应手(虽然代码不短)。不过,我们常常会发现,这些Java代码计算和处理数据的性能不如人意,赶不上数据库里的SQL。按说,作为......
  • 推介会/答谢晚宴/座谈会等座位查询如何安排?扫码查座位工具使用方法
    大型活动常常涉及重要的客户和合作伙伴,合理高效的座位安排显得尤为重要,通过扫码查座位系统,可以快速签到、精准引导客户到达指定座位,增强客户的参与体验感,这种座位安排也有助于提升活动的专业形象。点击下方链接前往工具查座位-会议/宴会/年会扫码签到查座位系统 几步即可......
  • 研讨会/对接会/发布会等座位查询怎么查?扫码查座位小程序怎么用?
    签到入座是各种活动的第一步,扫码查座位系统允许参与者扫描二维码完成签到,并扫码查询显示其座位信息,这种方式减少了排队时间,提高了入场的效率,确保活动能够按时高效开始。点击下方链接前往工具查座位-会议/宴会/年会扫码签到查座位系统​​​​​​​实施扫码查询系统的步骤很......
  • 后端list在前端实现分页的方法
    1.后端传来list的数据格式,前端进行分页,在调回方法中reduce方法进行数据分块处理//生成卡片数据constitems=this.listData;constchunkedArray=items.reduce((resultArray,item,index)=>{constchunkIndex=Math.floor(index/6); if(......
  • 【含文档】基于Springboot+Android的公交系统查询与设计(含源码+数据库+lw)
    1.开发环境开发系统:Windows10/11架构模式:MVC/前后端分离JDK版本:JavaJDK1.8开发工具:IDEA数据库版本:mysql5.7或8.0数据库可视化工具:navicat服务器:SpringBoot自带apachetomcat主要技术:Java,Springboot,mybatis,mysql,vue2.视频演示地址3.功能该系统......
  • IP归属地的查询
    如果查询少量的IP归属地,可以通过一些网站提供的页面进行查询,或者通过相关网站提供的API进行查询(一般都要收费),但是如果需要查询海量的IP地址,不管从费用上还是性能上,离线数据是最好的方式。国内免费的离线IP数据库是纯真IP地址数据库。纯真(CZ88.NET)自2005年起一直为广大社区用户......
  • 计算属性模糊查询
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>Document</title>......
  • java复制查询数组-cnblog
    java数组复制数组copyOf(待复制数组,复制后新数组的长度)如果复制后数组的长度,长于原来数组,多出来的元素会被补0,如果新数组元素少会从第一个元素,取到指定元素长度packagenb;importjava.util.Arrays;publicclasscopyOf_{publicstaticvoidmain(String[]......
  • MySQL慢查询优化&缩容实践
    索引调整在一个数据量较大的订单表中,发现某些查询因为缺少合适的索引而变慢。添加了必要的索引后,查询效率明显提升。查询条件调整在一个sql中需要根据时间条件查询,但是等号左边的字段使用了函数操作(将时间戳转换成了年月日),导致索引失效进行了全表扫描。解决:将等号右边的条件反......
  • 国际金价行情具体实现查询
    整体请求流程介绍:本次解析通过云市场的云服务来实现查询实时国际黄金的实时行情,首先需要准备选择一家可以提供查询的商品。步骤1:选择商品如图点击免费试用,即可免费申请该接口数据步骤2:调试输入对应的参数,找对对应的子接口,这里是伦敦金银点击《发起请求》,即可看......