开发者

Performance difference if I UNION first, then put WHERE on unioned result set?

In Microsoft SQL, is there any difference in performance between this:

SELECT columns FROM table1 WHERE cond
UNION
SELECT columns FROM table2 WHERE cond

and this:

SELECT columns FROM
(
SELECT columns FROM table1
UNION
S开发者_运维知识库ELECT columns FROM table2
) WHERE cond

?


The former is preferrable because if index(es) exist on any column referenced in the WHERE clause (barring being wrapped in function calls), the index(es) can be used.

The latter is a derived table, so index use is out of the question.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜