db2 - FOR FETCH ONLY 和 FETCH FIRST ROW ONLY?

标签 db2

仅将 FOR FETCH 添加到其中已包含 FETCH FIRST ROW ONLY 的 DB2 查询是否有任何性能优势,或者 FETCH FIRST X ROWS 语法是否已包含 FOR FETCH ONLY 的所有优势?

最佳答案

这两个子句具有完全不同的目的和行为。

FOR FETCH ONLY ,或者 FOR READ ONLY 告诉查询优化器您不打算更新或删除任何获取的行,因此它可以更有效地检索行(阻塞)并减少所需的资源量保持光标状态。

FETCH FIRST x ROWS ONLY旨在告诉优化器您对读取整个结果集不感兴趣,无论它有多大。这可能会导致优化器选择导致第一行更快返回到客户端的访问计划。

当这些子句符合您的目标时,您应该使用它们(其中一个或另一个,或两者)。请阅读链接的文档页面以了解更多详细信息。

关于db2 - FOR FETCH ONLY 和 FETCH FIRST ROW ONLY?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52009082/

相关文章:

sql - 决赛 table 的合并相当于什么?

ruby - 在 Ruby ActiveRecord 中创建和更新时忽略 'read-only' 列

db2 - AS400 DB2 : Create a table with a DDS and autoincrement field

db2 - 在 DB2 for iSeries 上使用触发器执行选择时出现 SQL0443 错误

python - 将 IBM_DB 与 Pandas 结合使用

java - DB2 和 Java。通过 GUI 将数据添加到数据库。

db2 - 选择查询在 DB2 中显示不正确的顺序

sql - 如何编写查询以确保电子邮件包含@

sql - 无论顺序如何,计算多列中值的唯一组合?

sql - 从 H2(和 DB2)中的三个其他连接表更新一个表中的值