Sql server SQL Server游标更新

Sql server SQL Server游标更新,sql-server,cursor,Sql Server,Cursor,我有两个关于游标的问题: 更新最快的光标是什么?是否仅声明db_游标前进_ 我是否需要在cursor select子句中选择主键以使用cursor更新行 UPDATE [myTable] SET [somecolumn] = 1 WHERE CURRENT OF db_cursor [somecolumn]不是主键 坦率地说,但我怀疑您在这两种方式中都会看到很大的性能差异——特别是与考虑另一个非光标方向相比,这通常是明智的方法。您想使用游标是有原因的吗?是的,我有一个相当大的数据库,有几百万行

我有两个关于游标的问题:

更新最快的光标是什么?是否仅声明db_游标前进_

我是否需要在cursor select子句中选择主键以使用cursor更新行

UPDATE [myTable]
SET [somecolumn] = 1
WHERE CURRENT OF db_cursor
[somecolumn]不是主键


坦率地说,但我怀疑您在这两种方式中都会看到很大的性能差异——特别是与考虑另一个非光标方向相比,这通常是明智的方法。您想使用游标是有原因的吗?是的,我有一个相当大的数据库,有几百万行,我无法将它们全部锁定。Curosr update锁定当前行是否每一行都需要更新,或者只是几百万行中的一小部分?在我看来,数百万行不是一个大的数据库,我有80m行,我认为我的中等大小。看起来好像你的问题2缺少了一个重要的单词。我需要在光标中选择什么东西吗?我猜你会用特殊的字符包围一些东西。编辑你的问题,并把一些东西放回去,但这次,要么:1用后面的引号后面的撇号把它括起来?在许多键盘上,瓷砖~出现的位置都是同一个键。。。在数字1左边的键上。。。在StackOverflow上,您可以保留任何特殊字符,如果您用反引号将其括起来,或者只需在该字符周围放置特殊字符。