开发者社区> 问答> 正文

如何对分库后的数据进行分页查询?

si项目,现在连接6台mysql数据库,路由分库算法是根据id的hash值%6,根据值不同分别存入6台数据库。现在不知道如何做分页查询列表,请问有谁知道吗

展开
收起
a123456678 2016-03-18 10:16:30 4516 0
1 条回答
写回答
取消 提交回答
  • 1、直接使用跨库的多表联合查询。不建议。

    2、向6台数据库server均发送一个查询请求,然后对所有查询结果进行汇总,再处理分页逻辑。

    3、建立一个总数据库,只负责维护主键和必要的索引,以供分页查询。

    4、使用redis维护一个主键序列,分页操作就是截取该序列的一部分,其结果就是主键id集合。拿到id后便可以映射到多台mysql服务器上查询数据了。但毕竟数据被分布式存储了,取到完整结果集必须要多次、多台的数据库访问,这个肯定是避免不了。

    注:“多台”数据库访问的问题无解,但同台“多次”数据库访问的问题可以通过程序优化。

    2019-07-17 19:06:00
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载