问题标签 [scrollableresults]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1670 浏览

sql - ScrollableResults 大小给出重复值

我正在使用hibernate和spring开发应用程序。我正在尝试使用 ScrollableResults 获取查询获得的结果计数,但由于查询包含大量连接(内部连接),结果包含重复多次的 id。当我使用 ScrollableResults 来了解从数据库返回的唯一行(或唯一 ID)的总数时,这会给 ScrollableResults 带来问题。请帮忙。部分代码如下:

它给出的总计数为 1440,但数据库中的实际唯一行为 504。提前致谢。

0 投票
5 回答
140 浏览

java - 数据库会被这段代码击中两次吗?

我正在尝试提高 api 的性能。我需要知道标记的第二行是否也会命中数据库?因为我想尽量减少它。

0 投票
2 回答
6669 浏览

java - 使用可滚动结果集在休眠中批量读取数据

我正在阅读有关使用休眠http://java.dzone.com/articles/bulk-fetching-hibernate批量获取的博客。
在此,ScrollableResults用作解决方案。这里我们仍然需要从会话中驱逐对象。
我不明白 using ScrollableResults(or scroll()) 与 using 有何不同list()

换句话说,以下陈述在性能方面有何不同

请告诉我。

0 投票
1 回答
635 浏览

hibernate - 使用 ScrollableResults 在 Hibernate 中高效处理大数据

我阅读了有关ScrollableResults有效Hibernate处理大数据的信息。

在上面运行时,我发现选择查询是在语句(1)本身触发的。这不意味着表中的所有数据都加载到内存中了吗?如果不是这样,它是如何工作的?

有人可以解释一下。

0 投票
1 回答
415 浏览

java - Hibernate ScrollableResultSet 意外的 OutOfMemoryError

我有 Postgres DB,客户端表中有 7500 行,-Xmx8m。

当我运行我的应用程序时,我得到了这个: .... 4188 java.lang.OutOfMemoryError: GC 开销限制超出

然后我设置了 -Xmx1024m 并运行 jvisualvm 并得到了这个 -

在此处输入图像描述 为什么我有很多字符串????谁能解释为什么会发生 OutOfMemory ?

0 投票
2 回答
494 浏览

java - 滚动时使用 Session.save() 时,ScrollableResultSet.next() 逐渐变慢

我正在使用一个ScrollableResults对象从表中滚动大约 500,000 到 1,000,000 行。在滚动时,我使用每次迭代的结果实体创建一个不同的实体,并用于session.save()持久化该对象。下面是示例代码,其中真正的代码更复杂,但本质上是做同样的事情。

重要实体:

当我为这个事务计时时,运行时间从每 500 次迭代大约 100 毫秒开始,但在大约 20,000 次迭代后逐渐上升到每 500 次迭代几秒。因此,该事务的性能极差。唯一需要花费时间的代码行是results.next(),它的执行时间会越来越长。

如果我将 Foo 中 Bar 实体的获取类型从渴望更改为惰性,则问题得到解决。我不明白为什么对尚未填充的集合使用渴望获取类型会导致滚动包含关系的实体出现问题。该集合确实在 session.flush() 上滚动期间被填充,但在我的场景中,该集合通常只填充一到两个元素,这就是为什么我更喜欢这种获取类型作为急切的原因。

有谁知道为什么这种特殊情况会发生这种减速?

请注意,这个问题是在我意识到更改 fetch 类型解决了问题之前首次发布的,所以问题现在已经从“我该如何解决这个问题”转移到“为什么这是一个问题?”

0 投票
3 回答
883 浏览

java - 如果您的程序返回大量记录,如何解决内存不足

我目前正在开发一个 Java 应用程序。使用的数据库是 Sybase ASE 15.0。目前,我在其中一种情况下收到以下错误:

java.lang.OutOfMemoryError: Java heap space

我的代码中有以下过程调用:

该过程接收日期范围作为其参数。如果日期范围很大,则返回大量记录。对于少量记录,它可以正常工作,但对于大量记录,它会给出“内存不足”异常。我观察到,如果记录数大于 11997,则会出现此错误。

我读过那个简单的结果集将记录存储在堆内存中,但它应该适用于可滚动的结果集,对吧?

在这种情况下如何删除此异常。

0 投票
1 回答
151 浏览

java - 使用 ScrollableResults 和休眠

这是我第一次尝试这个,但我收到以下错误:

结果集关闭

在尝试使用ScrollableResults.

0 投票
0 回答
2152 浏览

java - org.hibernate.exception.SQLGrammarException:无法使用滚动执行查询

我有以下查询,当我尝试使用休眠执行它时,出现以下异常:

org.hibernate.exception.SQLGrammarException:无法使用滚动执行查询。

在我的代码中,我滚动了 FORWARD_ONLY。任何人都可以请提供一个完美的解决方案。

另外,当我将查询更改为

这是我的查询:

strReportQuery是我的查询

它执行得很好,但只能从 rownum 1 到 10 工作。从下一个 rownum 开始,结果集为空。

提前致谢, Bhargavi T.

0 投票
1 回答
784 浏览

java - java.lang.String 无法转换错误

我有一个 DAO 方法:

这给我一个错误:

有谁知道错误是什么?任何帮助表示赞赏