【发布时间】:2013-07-31 09:04:05
【问题描述】:
我正在调查以下 sql 语句的性能问题:
Update tableA
set columnA1 = columnB1
from tableB
where tableA.columnA2 = tableB.columnB2
问题是tableA.columnA2 是nvarchar(50) 类型,而tableB.columnB2 是bigint 类型。我的问题是 sql server 如何执行这样的查询;将cast bigint 转换为nvarchar 并使用nvarchar 比较运算符进行比较,还是将nvarchar 转换为bigint 并与bigint 比较运算符进行比较。
另一件事:如果我不得不将这些列类型保留为 tableA.columnA2、tableB.columnB2',我该如何重写此查询以提高性能?
注意:这个查询只处理大约 100,000 条记录,但它需要很长时间。
提前致谢,非常感谢您的帮助。
【问题讨论】:
标签: sql sql-server database tsql query-performance