ハードコーディングされた 1=0 および 1=1 値を使用してクエリをテストします。それらを変数に置き換えると、クエリの速度が大幅に低下します。そして提案?
DECLARE @BoxType int
SET @BoxType = 2
Select blah from table t
INNER JOIN table2 t2
ON (t2.blah = t.blah AND 1=1 OR t2.blah = t.blah AND 1=0)
- とても早い
次を使用して書き直します。
...
INNER JOIN table t
ON (t2.blah = t.blah AND @BoxType = 2 OR t2.blah = t.blah AND @BoxType = 1)
- 非常に遅い