使用SELECT查询加速UPDATE

Mar*_*ret 0 sql-server optimization sql-server-2005

我有两张桌子:

  • 表1有Episode和Code,Episode为distinct.
  • 表2有Episode和Code,但Episode并不明显(表中的其他字段,与任务无关,使每一行都是唯一的).

我希望将每个剧集的表1的代码复制到表2.目前执行此操作的代码如下:

UPDATE Table2
SET Table2.Code = (SELECT TOP 1 Code FROM Table1 WHERE Episode = Table2.Episode)
Run Code Online (Sandbox Code Playgroud)

这需要数小时和数小时.(我不确切知道多少小时,因为我在大约20小时的时候取消了它.)他们大桌子,但肯定有更快的方法吗?

Vin*_*vic 5

我没有一个方便的SQL Server,我不完全确定,但我似乎记得有一个类似下面的语法应该可以加快速度.

 UPDATE Table2 SET Table2.Code = Table1.Code FROM Table1 
 WHERE Table1.Episode = Table2.Episode
Run Code Online (Sandbox Code Playgroud)