【问题标题】:How does fetchLazy work in jooq?fetchLazy 如何在 jooq 中工作?
【发布时间】:2015-07-18 14:57:47
【问题描述】:

fetchLazy 在 jooq 中是如何工作的?
是不是相当于用limit和offset做分页选择?

【问题讨论】:

    标签: java mysql sql jooq


    【解决方案1】:

    它们是不同的。

    fetchLazy()

    ... 返回一个Cursor 类型,它相当于jOOQ 的JDBC ResultSet 类型。查询将在数据库中完全实现,但 jOOQ (JDBC) 将一个接一个地获取行。这很有用

    • 当需要在不等待服务器和客户端之间的数据传输完成的情况下获取大型结果集时 - 与简单的 fetch() 不同,后者一次性从服务器加载所有行。
    • 当客户端事先不知道他们真正想从服务器获取多少行时。

    LIMIT .. OFFSET

    ... 将减少数据库中已经返回的行数,而不会出现在客户端中。这可以大大提高服务器中的执行速度,因为服务器

    • 可以选择不同的执行计划 - 例如对于 LIMIT 的低值,使用嵌套循环而不是哈希连接
    • 不需要长时间保持打开的游标数据传输,因为只有少数行通过网络传输。

    【讨论】:

      猜你喜欢
      • 2018-03-31
      • 2012-04-14
      • 2014-12-02
      • 1970-01-01
      • 1970-01-01
      • 2023-03-24
      • 2017-09-21
      • 2021-02-12
      • 1970-01-01
      相关资源
      最近更新 更多