【发布时间】:2012-12-03 04:47:48
【问题描述】:
我有一个非常奇怪的 MSSQL 查询问题,在存储过程中使用,但在这里简化以显示问题的核心。
查询如下
SELECT vs.fv_numer FROM win.v_sprzedaz vs
View 相当复杂,但运行大约需要 2 秒。 现在大吃一惊:
DECLARE @test=1
SELECT vs.fv_numer FROM win.v_sprzedaz vs
WHERE @test =1
现在查询执行需要...15 秒!
由于缺乏知识,我没有详细分析执行计划(在这两种情况下,它是不同的并且相当复杂)。任何想法为什么???
【问题讨论】:
-
是您的确切查询还是您实际上将
@test =1谓词与另一个带有AND或OR的谓词组合在一起?另外如果你添加OPTION (RECOMPILE)呢?
标签: sql-server optimization select where