2017-08-13 12 views
0

マージステートメントを使用して、他の2つのテーブルを結合して1つのテーブルを更新しようとしています。私が書いた更新ステートメントは非常に遅いので、それをマージに置き換えたいと思います。これは私に問題を与えるスクリプトです。他の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)
関連する問題