哪个是更新光标“模式”中记录的更好选择?
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
有什么区别?
(在这种特殊情况下需要游标)。
答案 0 :(得分:1)
我想想象 WHERE CURRENT OF ...
会对它进行基础优化,而不需要再次为候选键重新选择嵌套UPDATE找到该行。
语义也可能略有不同 - 假设id
不是候选密钥。
很高兴看到一些真实测试的结果,因为它可能会以某种方式表现出明显的优势。
快乐的编码。