gpt4 book ai didi

java - 正在使用 query.getResultList();方法对性能有严重影响?

转载 作者:搜寻专家 更新时间:2023-10-30 23:44:02 27 4
gpt4 key购买 nike

我正在使用 Java 持久性 API 开发独立软件。我需要从数据库中获取单个结果和多个结果。我也有几个问题,

第一个是,

我正在使用 query.getResultList(); 方法来检索单个结果和多个结果。我想知道这个方法是否检索整个结果集或结果集的某些部分(比如在执行限制查询时,例如:*SELECT * FROM some_db.some_table限制 100 偏移量 120;*)。如果不是,是否会对性能产生严重影响? (在这种情况下,我正在考虑一个在某些表中包含大约 10000 条记录的数据库)

第二个,

使用query.getResultList();query.getSingleResult();有什么影响

最佳答案

您应该将数据库端和服务器端部分分开。

  1. 如果您从 DB 端到服务器端得到 100 行,那么对于后面的服务器端执行来说,您的表有多大并不重要。

  2. 因此,我认为您正在尝试理解仅使用一行的 query.getResultList() 的开销。恕我直言,你不应该为此烦恼。

  3. 基于 docs结果是 0 行时,query.getResultList()query.getSingleResult() 之间的区别似乎很小。

query.getSingleResult()

... if there are no results at all a NoResultException is thrown.

UPD

对于 Persistance API 尝试使用这种方式来创建查询:

getEntityManager().createQuery(查询)
.setFirstResult(offset)//偏移量
.setMaxResults(limit)//限制
.getResultList();

关于java - 正在使用 query.getResultList();方法对性能有严重影响?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31315757/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com