以下查询在不到1秒的时间内返回结果:
SELECT DISTINCT IndicatorID
FROM dbo.tblData
WHERE tblData.RevisionID in (1)
以下查询产生相同的结果,但至少需要5秒才能返回:
DECLARE @Revisions AS TABLE
(
number INT PRIMARY KEY
)
INSERT INTO @Revisions
SELECT 1
SELECT DISTINCT IndicatorID
FROM dbo.tblData
WHERE tblData.RevisionID in (SELECT number FROM @Revisions)
这是我所拥有的场景的一个例子。
执行JOIN
没有任何区别。
使用临时表(#)并创建UNIQUE INDEX
也没有区别。
我想问题不在tblData中,因为使用固定值' 1'它运行得非常快。
执行计划:
更新: 仅包含RevisionID的索引的执行计划:
有什么想法吗?
谢谢!
答案 0 :(得分:0)
我检查一下: