哪个会更快?
方法一:
UPDATE table1
SET table1.column1 = table2.column1
FROM table2
WHERE table1.column2 = table2.column2
方法B:
UPDATE table1
SET table1.column1 = table2.column1
FROM table1
JOIN table2 on table1.column2 = table2.column2
它们会生成相同的执行计划吗?
在任何情况下我应该避免其中之一吗?
我做的一些测试几乎在同一时间执行,但总是很高兴听到第二个意见。
最佳答案
它们是等价的。您可以通过自己检查执行计划来验证这一点。第二个选项:
UPDATE table1
SET table1.column1 = table2.column1
FROM table1 JOIN
table2 on table1.column2 = table2.column2
目前是编写查询的首选方法,因为它更清楚为什么要指定条件。
关于sql - 这些 SQL UPDATE 语句中的哪一个会更快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7106890/