1
我有一個非常奇怪的MSSQL查詢問題,用於存儲過程,但在這裏簡化以顯示問題的核心。在WHERE中有常量的SELECT語句的奇怪行爲
查詢以下
SELECT vs.fv_numer FROM win.v_sprzedaz vs
觀是相當複雜的,但它需要大約2秒運行。 現在驚奇:
DECLARE @test=1
SELECT vs.fv_numer FROM win.v_sprzedaz vs
WHERE @test =1
現在查詢執行需要... 15秒!
由於缺乏knowledege我沒有分析執行計劃中的細節(在兩種情況下是不同的,比較複雜)。任何想法爲什麼?
Tyhat是你的確切查詢還是實際上將'@test = 1'謂詞與'AND'或'OR'組合成了另一個謂詞?另外如果你添加'OPTION(RECOMPILE)'? –