【发布时间】:2016-01-17 21:59:31
【问题描述】:
我还在学习 SQL。我以两种不同的方式完成了类似的查询,想知道哪个更好以及为什么。
UPDATE R
SET R.something = 1
FROM Table1 R
JOIN Table2 U
ON R.value1 = U.value2
WHERE
U.value3 BETWEEN 1 AND 5
或
UPDATE R
SET R.something = 1
WHERE R.value1 IN
(SELECT U.value2
FROM U
WHERE
U.value3 BETWEEN 1 AND 5
)
【问题讨论】:
-
你检查查询执行计划了吗?
-
太棒了!不知道执行计划。据我所知,它们看起来完全一样。但这似乎不正确。
-
优化器优化 :) 如果统计信息/索引相似,两条语法截然不同的 SQL 语句看起来与数据库引擎相似。
标签: sql optimization