业务场景
有一张一亿数据量的订单表按照ID哈希分片存储在N台mysql节点中,按照某一字段排序后将分页结果返回给前端
分库分表所带来的查询问题
性能问题
精度问题
跨库跨表的join操作
order...答案是精度缺失问题,例如我分表,表一中的time为1, 3, 4, 5,表二中的time为2,2,3,4,6,7,如果取limt 1, 3的话那么表一和表二中的数据取完之后再汇总结果为3,4,5,2,3,4...select * from order order by time limit x + y;
可以看到将limit的查询条件进行修改后,查询到数据更过,我们从表一表二查询到的结果汇总结果为,1,3,4,5,2,2,3,4...,上李子,如果我们要所有数据中的limit 2, 4,数据存到了两个表,分别对两个表进行limit (1, 4),time分别为:表一1,2,2,2,2,3,4,5,表二则为1,3,4,5,6,按照这种方式每个分片执行一次上述查询语句...,后面再在每个库或表中查找id是否在这个结果集中,在就添加,再将查询到的数据同一汇总再在服务端统计整合所有结果,再返回分页数据
PS:其他问题的解决方案待做...插个眼,凑齐10个赞立马出如何优雅的分库分表