分表后如何做分页查询?
分表后如何做分页查询?
一、分表背景与挑战
在数据库水平分表(Horizontal Partitioning)场景下,数据按照某个分片键(Sharding Key)分散到多个物理表中。此时传统的LIMIT offset, size
分页方式会遇到两个核心问题:
- 跨库结果集合并:数据分散在不同物理表,需要先查询所有分表再合并
- 性能瓶颈:当offset值较大时,各分表仍需扫描大量无效数据
关键结论:分表后的分页必须避免全表扫描和内存排序,解决方案需要结合业务场景选择
二、主流解决方案
2.1 全局视野法(内存排序)
实现步骤:
- 从所有分表查询符合条件的数据
- 在内存中进行归并排序
- 截取指定分页范围的数据
-- 分表查询示例