【发布时间】:2016-06-25 17:27:29
【问题描述】:
我的查询如下所示:
SELECT PersonId,
Note,
Amount
FROM Table1 A
WHERE A.PersonId = @PersonId
UNION
SELECT PersonId,
Note,
Amount
FROM Table2 B
WHERE B.PersonId = @PersonId
UNION
SELECT PersonId,
Note,
Amount
FROM Table3 C
WHERE C.PersonId = @PersonId
现在,这个查询最终会返回数千个结果,所以我想构建性能最好的查询。我想知道这是否比在联合之后过滤 PersonId 更有效:
SELECT * FROM
(
SELECT PersonId,
Note,
Amount
FROM Table1 A
UNION
SELECT PersonId,
Note,
Amount
FROM Table2 B
UNION
SELECT PersonId,
Note,
Amount
FROM Table3 C
) A
WHERE A.PersonId = @PersonId
【问题讨论】:
标签: c# query-performance