当查询的数据来自多个数据源,有哪些好的分页策略?

发布于 2022-09-12 01:24:45 字数 424 浏览 11 评论 0

在业务系统开发中,有个列表页展示的数据比较多,数据需要从多个数据源查询,然后再将数据汇总,整理展示。

数据源可能有两种情况:

  1. 有可能数据来源不同的库。
  2. 有可能数据来源不同的API。

查询数据整合后,如何分页呢?

目前想到的方案:

  1. 数据同步,将所需数据源汇总到一张表中,然后相当于单表分页,如果数据源是 API 获取的,那怎么办呢?
  2. 内存中分页,将所数据查询出来,存放到内存中进行逻辑分页。
  3. 将查询出来的数据,汇总写入到 mongo 中,通过 mongo 进行分页。

感觉处理起这种多数据源,列表分页操作很麻烦,你有哪些很好的办法?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

飞烟轻若梦 2022-09-19 01:24:45

数据源来自不同api,需求上又要进行融合后分页,真的没啥太好办法,只能通过并发请求各api,做内存分页。
当然,我还会问自己2个问题:

  1. 这种情况下前台做分页的需求是否合理?
  2. 不同数据的api是否可以做定期的离线同步?
辞旧 2022-09-19 01:24:45

我遇到过同样的问题。 一个项目的查询中心,数据源分布在关系型和MongoDB中。

对于业务来说,用户需要一个完整的业务场景,而数据会被分散到 MongoDB 和 Mysql 或者(SqlServer 中),也就是 Sql 和 Nosql 共存。

分页和权限都涉及到数据整合和中转,随即而来的是查询性能压力和维护复杂性。

这种问题的原因一般是系统初期对业务理解不充分,设计不合理,后期功能增加造成的业务债。 要从设计和功能拆分的角度彻底解决问题。

当然了,如果想维持现状,有几点建议
1 索引优化,代码优化
2 在业务可接受的情况下,做异步处理,这种仅仅适合导出类功能,可以异步导出。

还有一点,不管数据源有几种,做分页数据源也只能有一份主数据源,倾向于后端做分页为佳。

一则小故事-和时间一起做MongoDB的朋友

之前我整理的MongoDB使用中,有这个案例描述数据源分散.png

稀香 2022-09-19 01:24:45

找一个主表分页之后基于某个外键接着并发去别的源查?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文