Sql update SQL Server中的更新操作是否按聚集索引顺序进行?

Sql update SQL Server中的更新操作是否按聚集索引顺序进行?,sql-update,sql-order-by,sql-server-2012,clustered-index,Sql Update,Sql Order By,Sql Server 2012,Clustered Index,SQL Server中的更新操作是否按聚集索引顺序进行 我想设置表中的顺序位置,但SQL Server不允许我在更新操作中使用ORDER BY 我进行了测试,更新发生在位置列的聚集索引中,所以一切都很好,但我能相信它会一直这样工作吗 DECLARE @Position BIGINT = 0 UPDATE Paginations SET @Position = Position = @Position + 1 看:哦,不!古怪的更新!无文档记录、不受支持,并且无论您做什么,都不能保证

SQL Server中的更新操作是否按聚集索引顺序进行

我想设置表中的顺序位置,但SQL Server不允许我在更新操作中使用ORDER BY

我进行了测试,更新发生在位置列的聚集索引中,所以一切都很好,但我能相信它会一直这样工作吗

DECLARE @Position BIGINT  = 0

UPDATE
  Paginations
SET
  @Position = Position = @Position + 1

看:哦,不!古怪的更新!无文档记录、不受支持,并且无论您做什么,都不能保证以任何顺序工作。为什么不计算CTE中的行数,然后用它来更新?或者更好的方法是,不用麻烦存储这些冗余信息,这些信息可以在运行时从查询中获得?请您使用cte中的行号创建一个示例好吗?因为我做了一个,真的很慢!我只有5万行