2011-09-07 64 views
0

哪种更新光标“模式”下的记录更好?如何在使用'for update'光标时获得最佳性能?

FETCH NEXT FROM my_cur INTO @Param_Id  
     WHILE @@FETCH_STATUS = 0 
      BEGIN 
         ... 
         UPDATE MyTable 
         SET name= 'aaa' 
         WHERE MyTable.id = @Param_Id // update the regular TABLE ... 
         ... 
      END 

WHERE CURRENT OF my_cur // update the current cursor row 

的区别是什么?

(游标在该特定情况下需要)。

+1

最佳选择!**避免干脆游标** –

+1

:)但是,如果我需要什么? –

+1

:(我问的问题“一”,你已经回答了我的问题“B” –

回答

1

我会想象WHERE CURRENT OF ...会对它进行底层优化,而不需要再次为候选键上嵌套的UPDATE重新选择找到行。

语义也略有不同 - 想象一下,如果id不是候选键。

这将是很好看的一些真实测试的一些结果,因为它可能会表现出明显的优势,这种或那种方式。

快乐编码。

相关问题