SQL Server 2008 R2 kullanıyorum ve bu sözde sorgu (SP) var:
select ...
from ...
WHERE @LinkMode IS NULL
AND (myColumn IN (...very long-running query...))
...
...
Sorun, ben SP yürütmek bile sorgu yürütmek için çok uzun zaman alır olmasıdır @LinkMode=2
.
Fark ettiğiniz gibi, uzun süren sorgu yalnızca @LinkMode boşsa çalıştırılmalıdır (bu durum böyle değildir). Benim durumumda @LinkMode = 2!
Ancak, ben bunu değiştirmek eğer:
select ...
from ...
WHERE 1=2
AND (myColumn IN (...very long time exeted query...))
...
...
SP gelmez hızlı koş.
Daha önce duymuştum ki bazen optimizer kriterlerin sırasını optimize edebilir .
Yani soruyorum :
Optimize edici farklı bir rota seçse bile, kontrol edip etmekten daha hızlı ne olabilir
=null
? Yani, ben bu denetimi düşünüyorumif a==null
olduğunu çok daha hızlı diğer uzun sorguyu çalıştırarak daha ...Nasıl olabilir zorlamak ben (aynı sırada) yazdım olarak sorgu çalıştırmak için SQL Server?