- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 jOOQ 3.4.2 通过 Scala 查询 PostgreSQL 数据库。我想一次获取一小部分结果集,而不是将整个结果集加载到内存中,因为查询可能会返回很多行。我有以下代码:
val query = context.selectFrom(table)
.where(conditions)
.orderBy(orderField)
.fetchSize(1)
val cursor = query.fetchLazy()
// Iterate through cursor using cursor.fetchOne()
当我调用 fetchLazy()
时,jOOQ 似乎会在内存中加载整个 结果集(或至少是结果集的一大块),然后再调用甚至从游标中获取第一行(根据我在调用 fetchLazy()
时看到的大量 recvfrom()
系统调用来判断)。我做错了什么吗?
最佳答案
Am I doing something wrong?
不是来自 jOOQ 方面。这正是您如何确保 jOOQ(通过 ResultQuery.fetchLazy()
和 Cursor.fetchOne()
)和 JDBC 驱动程序(通过 ResultQuery.fetchSize()
,转换为 PreparedStatement.setFetchSize()
)一次只能获取一行。
但是,您可能遇到了 this PostgreSQL JDBC driver caveat ,表示要使 fetchSize
起作用,您必须在显式事务中运行查询。
关于postgresql - jOOQ 的 fetchLazy() 真的很懒吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26241941/
通常,当我想使用 Mysql 查询大型结果集时,我会这样写(取自 this answer): stmt = conn.createStatement(java.sql.ResultSet.TYPE_F
所以我想使用 DSLContext 懒惰地将一些记录获取到 POJO 中,如下所示: public Iterator getSomething(DSLContext dsl) { return d
我正在使用 jOOQ 3.4.2 通过 Scala 查询 PostgreSQL 数据库。我想一次获取一小部分结果集,而不是将整个结果集加载到内存中,因为查询可能会返回很多行。我有以下代码: val q
fetchLazy 在 jooq 中如何工作? 是否等同于使用 limit 和 offset 进行分页选择? 最佳答案 它们是不同的。 fetchLazy() ... 返回 Cursor类型,这是 j
我是一名优秀的程序员,十分优秀!