业务场景
有一张一亿数据量的订单表按照ID哈希分片存储在N台mysql节点中,按照某一字段排序后将分页结果返回给前端
分库分表所带来的查询问题
性能问题
精度问题
跨库跨表的join操作
order...* from order order by time limit x, y;
首先我们不考虑深分页问题(想想分库分表的初衷是为了什么,为什么会出现深分页问题,如果想进一步优化,分库分表的深分页该如何解决...,排序后为2,3,3,4,4,5, 可以看到无论何种取法都不会与我们期望的结果2,2,3一样,因此这种方法会导致数据精度不准,那么我们为了解决该问题,该如何修改呢,答案是扩大搜索范围,再将数据合并进行处理...select * from order order by time limit x + y;
可以看到将limit的查询条件进行修改后,查询到数据更过,我们从表一表二查询到的结果汇总结果为,1,3,4,5,2,2,3,4...,后面再在每个库或表中查找id是否在这个结果集中,在就添加,再将查询到的数据同一汇总再在服务端统计整合所有结果,再返回分页数据
PS:其他问题的解决方案待做...插个眼,凑齐10个赞立马出如何优雅的分库分表