仅适用于FETCH FIRST ROW?

时间:2018-08-24 17:14:38

标签: db2

仅将FOR FETCH添加到已仅具有FETCH FIRST ROW的DB2查询中,对性能有好处吗?或者FETCH FIRST X ROWS语法是否已经包含FOR FETCH ONLY的所有优点?

1 个答案:

答案 0 :(得分:0)

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

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

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

当子句适合您的目标时,应使用它们(一个或另一个,或两个)。请阅读链接的文档页面以获取更多详细信息。