将FOR FETCH仅添加到已经只有FETCH FIRST ROW的DB2查询中是否有性能上的好处,或者FETCH FIRST X ROWS语法已经包含了FOR FETCH ONLY的所有优点?
发布于 2018-08-25 02:01:53
这两条条文的目的和行为完全不同。
FOR FETCH ONLY,或者FOR READ ONLY告诉查询优化器您不打算更新或删除任何提取的行,因此它可以更有效地检索行(阻塞),并减少维护游标状态所需的资源量。
FETCH FIRST x ROWS ONLY的目的是告诉优化器您对读取整个结果集不感兴趣,不管结果集有多大。这可能会导致优化器选择访问计划,从而使第一行更快地返回到客户端。
当这些子句符合您的目标时,您应该使用它们(一个或另一个,或者两者都使用)。有关更多详细信息,请阅读链接的文档页面。
https://stackoverflow.com/questions/52009082
复制相似问题