2017-08-13 45 views
0

我想通過合併其他兩個表來使用合併語句來更新一個表。我寫的更新語句太痛苦了,所以我想用合併來替換它。這是腳本給我的問題。通過加入2個人合併成一個表

UPDATE T1 
SET TitleID = T2.TitleID 
FROM Customer T1 
INNER JOIN Customer_Temp T3 
    on T1.importFK = T3.importFK 
INNER JOIN Customer_Title T2 
    on T2.TitleDescription = T3.TitleDescription 
    and T2.ID = @ID 
+3

什麼是你所面對的具體問題?錯誤消息?意外的結果? – Winnie

+0

問題在於它太慢了。 –

回答

2

MERGE可能不會提高性能。對於此查詢:

UPDATE T1 
    SET TitleID = T2.TitleID 
    FROM Customer T1 INNER JOIN 
     Customer_Temp T3 
     ON T1.importFK = T3.importFK INNER JOIN 
     Customer_Title T2 
     ON T2.TitleDescription = T3.TitleDescription AND T2.ID = @ID; 

您需要索引。我建議:

  • Customer_Title(ID, TitleDescription, TitleId)
  • Customer_Temp(TitleDescription, importFK)
  • Customer(importFK)