亿万级分库分表后如何进行跨表分页查询

💡 原文中文,约6300字,阅读约需15分钟。
📝

内容提要

在应用系统开发中,很少需要进行数据分库或分表操作。通常使用ORM和连接查询来提高开发效率。但在分表场景下,可采用全局表查询、禁止跳页查询、按日期二次查询、大数据集成和NewSql法等方法解决分页查询问题。每种方法都有优缺点,需根据具体情况选择合适方法。

🎯

关键要点

  • 在常规应用系统开发中,分库或分表操作很少需要,通常使用ORM和连接查询提高效率。
  • 电商场景中,用户和订单数据通常按用户编号或订单编号进行分表。
  • 淘宝采用双写订单策略,使用冗余数据库来规避资源抢夺问题。
  • 全局表查询将分表数据主键集中存储,提高查询效率,但数据增长会增加压力。
  • 禁止跳页查询使用时间戳替代传统分页,适用于数据精度要求不高的场景。
  • 按日期的二次查询法通过分布数据到多个表中解决性能和精度问题,但需注意分表规则和内存合并性能。
  • 大数据集成法适用于数据量大时,使用ELK等大数据套件解决分页问题。
  • NewSql法迁移到分布式数据库,支持关系数据库间的无障碍迁移。
  • 有序的二次查询法基于按日期的二次查询法,确保数据块连续,适合最近17天的分页数据查询。
  • 分页算法通过计算跳过的记录数和选取的记录数,模拟数据分页情况。
  • 并行查询和排序可以提高查询效率,但有一定局限性,需确保数据块连续。
➡️

继续阅读