我可以用Java代码替换查询,这样更好吗?

问题描述 投票:0回答:2

我必须计算项目数。

使用count进行选择是否更好,以便db(postgreSQL)可以快速执行它或访问java中的每个对象并对其进行计数?

一种方式,我将需要再次访问数据库,而另一种方式,我将循环许多对象。

考虑到该应用程序是企业应用程序,因此我可以拥有数千个对象。

我需要最佳的解决方案来对此进行优化。

java sql postgresql optimization
2个回答
0
投票

您使用一些DAO吗?在休眠模式下,您可以使用HQL,它将转换为指定的SQL语法。您不必将Java代码与一个数据库版本严格耦合,让hibernate完成这项工作。无论如何,IMO您用标签弄错了,JQuery未连接到Java,而是JavaScript脚本。


0
投票

由于您已经获取了所有行,因此简单地从中获取最大行号可能更有意义。

通常,我会让数据库完成这项工作,但是如果您使用的是与获取所有行并获取计数完全相同的查询,那么在您的情况下,它可能是从java进行的简单计数。

如果使用的是Java sql结果集,则可以直接将光标移至最后一个条目并获取其行号/计数。因此,您不需要在Java中循环使用结果集就可以得到总数]

int size = 0;
try {
    resultSet.last();
    size = resultSet.getRow();
}
catch(Exception ex) {
    return 0;
}
return size;
© www.soinside.com 2019 - 2024. All rights reserved.