二次查询过程

简介: 【7月更文挑战第8天】

二次查询
这一次查询需要利用上一步找出来的最小值以及各自分库的最大值来构造BETWEEN查询,改写得到的SQL是:

SELECT * FROM order_tab_0 WHERE id BETWEEN 4 AND 12
SELECT * FROM order_tab_1 WHERE id BETWEEN 4 AND 11

结果:

  • order_tab_0 返回 4、6、10、12。
  • order_tab_1 返回 5、7、8、9、11,也就是多了 1 条数据,记住这一点。

取过来的所有数据排序之后就是4、5、6、7、8、9、10、11、12

计算最小值的全局偏移量
核心是:根据BETWEEN中多出来的数据量来推断全局偏移量

现在我们知道4在order_tab_0中的偏移量是2,也就是说比4小的数据有2条。
在BETWEEN查询里,order_tab_1返回的结果是5,7,8,9,11,其中7在第一次查询里的偏移量是2,所以5的偏移量是1。也就是说,5的前面只有一条比4小的数据。
那么4在order_tab中的全局偏移量就是1+2=3,也就是4前面有三条数据。

加上4本身,刚好构成了OFFSET 4,因此从5开始取,往后取4条数据。

总结

简化版本:

  1. 首次查询,拿到最小值
  2. 二次查询,确实最小值的全局偏移量
  3. 在二次查询的结果里根据最小值取到符合偏移量的数据
目录
相关文章
|
数据可视化 数据挖掘 开发者
import有什么用,python中怎么使用import
import有什么用,python中怎么使用import
2567 1
|
6月前
|
数据采集 监控 安全
2025企业如何做好数据治理:从成本中心到价值引擎的数据治理落地方案
2025年,数据治理已从合规防御转向价值赋能,成为企业创新与增长的核心引擎。本文系统解析数据治理的定义、实战路径与成功要素,结合阿里云Dataphin等案例,揭示如何通过组织协同、流程优化与技术工具,将数据转化为可信赖的战略资产,驱动业务高效决策与持续创新。
|
canal 缓存 NoSQL
Redis缓存与数据库如何保证一致性?同步删除+延时双删+异步监听+多重保障方案
根据对一致性的要求程度,提出多种解决方案:同步删除、同步删除+可靠消息、延时双删、异步监听+可靠消息、多重保障方案
Redis缓存与数据库如何保证一致性?同步删除+延时双删+异步监听+多重保障方案
|
存储 SQL 关系型数据库
(二十三)MySQL分表篇:该如何将月增上亿条数据的单表处理方案优雅落地?
前面《分库分表的正确姿势》、《分库分表的后患问题》两篇中,对数据库的分库分表技术进行了全面阐述,但前两篇大多属于方法论,并不存在具体的实战实操,而只有理论没有实践的技术永远都属纸上谈兵,所以接下来会再开几个单章对分库分表各类方案进行落地。
1558 3
|
设计模式 移动开发 IDE
淘宝短视频流工程重构(上):理论篇
淘宝短视频流工程重构(上):理论篇
393 7
|
Kubernetes 应用服务中间件 nginx
史上最全干货!Kubernetes 原理+实战总结(全文6万字,90张图,100个知识点)(上)
史上最全干货!Kubernetes 原理+实战总结(全文6万字,90张图,100个知识点)
53372 30
|
缓存 安全 API
为什么 HTTP GET 方法不使用请求体?
本指南深入探讨了为什么HTTP GET方法通常不使用请求体,解释了GET方法的主要用途及其设计原则。GET请求旨在通过URL安全、幂等地检索数据,避免因请求体带来的复杂性和潜在问题。尽管HTTP/1.1规范允许GET请求包含请求体,但这并不常见且可能引发副作用。掌握这些原则有助于开发者在API开发中更高效地使用GET请求。
|
C#
阿里云域名价格注册、续费及转入费用(com、cn多域名后缀报价)
阿里云com域名注册价格69元,企业新用户注册com域名优惠价1元;cn域名注册价格29元,新用户注册cn域名8.8元;阿里云com域名续费79元一年,使用优惠口令续费68元一年;阿里云cn域名续费价格39元,使用优惠口令后价格35元一年。
5987 1
阿里云域名价格注册、续费及转入费用(com、cn多域名后缀报价)
|
存储 运维 架构师
架构之道:人人都是架构师(1)
架构之道:人人都是架构师
819 8
|
缓存 NoSQL Java
个人项目中技术落地的基础入门(1)
个人项目中技术落地的基础入门
469 6

热门文章

最新文章