我正在调查以下 sql 语句的性能问题:
Update tableA
set columnA1 = columnB1
from tableB
where tableA.columnA2 = tableB.columnB2
问题是tableA.columnA2is of typenvarchar(50)而tableB.columnB2is of type bigint。我的问题是 sql server 如何执行这样的查询;使用比较运算符执行它并进行比较,还是转换为cast bigint比较运算符并进行比较。nvarcharnvarcharnvarcharbigintbigint
另一件事:如果我不得不让这些列类型保持原样tableA.columnA2,tableB.columnB2'我该如何重写这个查询来提高性能?
注意:这个查询只处理大约 100,000 条记录,但它需要永远。
在此先感谢,非常感谢您的帮助。