次の SQL ステートメントのパフォーマンスの問題を調査しています。
Update tableA
set columnA1 = columnB1
from tableB
where tableA.columnA2 = tableB.columnB2
問題は、それtableA.columnA2
がタイプnvarchar(50)
でありながら、tableB.columnB2
タイプであるということですbigint
。私の質問は、SQLサーバーがそのようなクエリをどのように実行するかです。比較演算子を使用して比較cast bigint
するか、比較演算子にキャストして比較します。nvarchar
nvarchar
nvarchar
bigint
bigint
もう 1 つ: これらの列の型をそのままにしておく必要がある場合tableA.columnA2
、tableB.columnB2
' このクエリを書き直してパフォーマンスを向上させるにはどうすればよいでしょうか?
注: このクエリは約 100,000 レコードに対してのみ機能しますが、永遠に時間がかかります。
よろしくお願いします。