首页 > 解决方案 > 我可以用java代码替换查询,更好吗?

问题描述

我必须清点物品。

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

在一种方式中,我将需要再次访问数据库,但在另一种方式中,我将循环大量对象。

考虑到应用程序是企业级的,所以我可以拥有数千个对象。

我需要最好的解决方案来优化它。

标签: javasqlpostgresqloptimization

解决方案


@CarlosHeuberger 的评论很贴切,但各方面:

  • 数据库可以做得更快;有元数据;可以遍历索引。
  • 数据库缓存。(并发和重复调用。)
  • 数据传输较少。
  • 无需创建 java 对象,即使它们只是属于 ResultSet。
  • Java 代码可能需要更多时间仔细阅读(维护)。

我不认为这里是这种情况,阅读问题。但对于其他人:

  • 搜索计数以插入带有 id 的新记录count + 1是一个巨大的 NO。不安全并且存在更好的机制。

如果您这样做是为了分页,则不需要事先加载所有记录。


推荐阅读