仅将FOR FETCH添加到已仅具有FETCH FIRST ROW的DB2查询中,对性能有好处吗?或者FETCH FIRST X ROWS语法是否已经包含FOR FETCH ONLY的所有优点?
答案 0 :(得分:0)
这两个子句的目的和行为完全不同。
FOR FETCH ONLY
,或者FOR READ ONLY
告诉查询优化器您不打算更新或删除任何已获取的行,因此它可以更有效地检索行(阻塞)并减少行数维护游标状态所需的资源。
FETCH FIRST x ROWS ONLY
旨在告诉优化器您对读取整个结果集不感兴趣,无论它有多大。这可能会导致优化器选择访问计划,从而使第一行更快地返回给客户端。
当子句适合您的目标时,应使用它们(一个或另一个,或两个)。请阅读链接的文档页面以获取更多详细信息。