将大量数据从一列传输到另一列的最有效方法?

Lig*_*ggi 3 t-sql sql-server

我目前有两个表,一个依赖于另一个我要删除的表.假设这些表是ProductEmployee,每个表中有大约800,000行.

Employee表有一个ProductID,其中有一个ProductRefID,我需要在我的应用程序中引用它.这样做的方法是加入Product表,并以这种方式引用ProductRefID.

但是,我现在想要更改它,以便ProductRefID是Employee表上的一列,然后将每个Product行的"ProductRefID"传输到Employee行的"ProductRefID".

编写此查询的最有效方法是什么?

(我知道这听起来很愚蠢,但这仅仅是一个例子,它实际上并不是我特意要做的事情).

t-c*_*.dk 5

像这样的东西?

alter table Employee add ProductRefID INT


update e
set ProductRefID = p.ProductRefID
from Employee e
join 
Product p
on e.ProductID = p.id
Run Code Online (Sandbox Code Playgroud)