3

使用一些 java 处理进行两次数据库调用还是一次数据库调用更好?

一个数据库调用只获取相关数据,这些数据将被分成两个不同的列表,这需要几行 java.lang.

4

5 回答 5

5

数据库下降始终是一项昂贵的操作。如果您可以使用一个 db fetch 进行管理并进行一些 java 处理,那么它对您来说应该是一个更好更快的选择。

但是您可能必须在您的场景中进行分析,哪一个正在成为更有效的选择。我认为单独的 DB fetch 和 java 处理应该更好。

于 2013-07-24T17:50:00.273 回答
3

测试是关键。您可能想问自己一些问题:

  • 每个数据库调用有多大
  • 如果我把它们结合起来,电话会大/小多少
  • 我应该将处理推送给客户吗?
  • 定时
    • 处理时间有多紧迫?
    • 您是否需要蜂拥而至 DB 或者可以捎带客户端?
    • 差异可以忽略不计吗?
于 2013-07-24T17:56:06.780 回答
3

Java 处理比 SQL Fetch 快得多,因为我遇到了同样的问题,所以我建议您通过一些处理来获取单个数据,因为这两个选项所花费的时间可能略有不同,但有些计算机需要很多时间来获取数据DB,所以我建议您使用一些 Java 处理来获取单个数据。

于 2013-07-24T19:42:17.050 回答
2

一般来说,如果您正在执行的不是一些简单的数据库查询,Java 处理会更好。

我会建议您同时尝试它们,测量一些时间和负载,看看哪种最适合您的应用程序。

于 2013-07-24T17:51:47.423 回答
2

这完全取决于您的处理密集程度以及数据库的设置方式。例如,在本机文件系统上运行的 Oracle 很可能比您自己为复杂操作执行 java 处理代码的性能更高。请注意,众所周知的数据库上的大多数内置操作都经过高度优化并且通常非常高效。

于 2013-07-24T17:55:10.883 回答