多表查询之后,要把数据综合。然后排序分页的问题;数据放在服务端还是数据库端处理好??

发布于 2022-09-06 19:31:45 字数 191 浏览 19 评论 0

当前的需求是要从三个表里查询数据,然后把数据符合条件的数据拿到,综合在一起,
之后要在前台对这些数据进行排序分页展示;
问题是,这个过程的业务逻辑是放在后台代码端处理;
还是在数据库端先建一个临时表,之后把从这三个表获取的数据都存入临时表,然后再在这个历史表里对获取到的数据进行排序,再分页,然后传输到后台服务端;
问一下这两种方式那种更好啊?

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

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

发布评论

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

评论(2

人间☆小暴躁 2022-09-13 19:31:45

要具体情况具体分析:

  • 数据量大不大,如果很大那就只能放临时表不然你程序的可用内存就被占用太久了,而且从表转换成 POJO 后有大量的小对象,这对 cg 会造成压力;如果不是很大那就可以考虑放在程序中,但是还要结合下一个点综合考虑。
  • 整理后的数据以后还要用到吗,频率高不高,还是每次都必须从数据库拉取最新数据。因为能重用就重用,但是重用的话 POJO 一样占用很大的内存空间,如果不需要重用,那就直接内存中操作,分页了立即输出然后释放掉也可以。
白色秋天 2022-09-13 19:31:45

如果排序涉及的数据量很大,那么肯定是交给数据库比较好。因为排序的最终目的是分页输出,数据库可以使用索引来更快的达到这一目的。

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