我在SQL Server中有table1
:
id start end value flag main_name
----------------------------------------------------
1 10 20.2 pending T abc
2 22 11 pending T abc
3 12.1 15 pending F abc
我有另一张桌子table2
:
id start end value flag main_name
-------------------------------------------------
1 10 20.2 x T abc
2 22 11 y T abc
3 12.1 15 z F abc
我想更新table1
,其中pending
的{{1}}的{{1}}值与来自table1
的相应值相同的开头和结尾。< / p>
这只是一个例子,我在table1中有100k +记录。
我写了一个更新查询:
table2
但这需要花费很多时间!它每秒只更新3-4行! 我有100k +行要更新。
还有其他方法/查询优化来缩短时间吗?
*注意:除了&#39; abc&#39;
之外,该表还包含其他main_name值答案 0 :(得分:0)
光标是更好的选择,请阅读此答案https://stackoverflow.com/a/21148988/7942868。正如您在使用更新时所看到的,SQL将在DB上创建一个事务,因此会产生开销。