【发布时间】:2019-07-05 09:49:11
【问题描述】:
我正在对一个非常简单的表中的一行进行 MS SQL Server 更新。我正在用另外 4 样东西替换大约 4 样东西。
update Table set Column1 = 'something new' where Column1 = 'something old';
update Table set Column1 = 'something new 2' where Column1 = 'something old 2';
update Table set Column1 = 'something new 3' where Column1 = 'something old 3';
update Table set Column1 = 'something new 4' where Column1 = 'something old 4';
这就是它的全部内容。但我的问题是,这是一张在生产中运行大量记录的表,但在运行更新之前,确切的数量是未知的。 有一个时间戳列。首先更新最新的可能更重要。
但我的问题可能是一个更现实的问题。
最好按时间戳将其划分并让它手动运行,还是有更好的方法让它运行?我还可以通过每个更新语句来划分工作。
或者有什么办法可以将这样的东西放入脚本本身?
我已经尝试查看查询计划,但它并没有告诉我拆分它的最佳方法。
【问题讨论】:
-
大约有多少行会受到更新的影响?
-
@TabAlleman 百万。数以百万计。
-
@markb 检查我的答案更新
标签: sql sql-server optimization query-optimization sql-server-2014