Ben böyle görünüyor büyük bir tabloda bir sorgu var:
declare @myIdParam int = 1
select *
from myTable
where (@myIdParam is null or myTable.Id = @myIdParam)
Burada bulunan maddede bunun gibi birkaç benzer koşul vardır ve çok sayıda birleşim de vardır, ancak bu bir özettir.
Etkili bir şekilde @ myIdParam null olursa, bu parametreyi kullanarak sonuçları kısıtlamak istemiyoruz.
Ben bir DB pro değilim, ama benim testleri bu NULL kontrol her kayıt için yapılır ve herhangi bir şekilde optimize değil gibi görünüyor.
Boş denetimi kaldırır ve parametrenin boş olmadığını varsayarsam, sorgu anında geri döner. Aksi takdirde, on saniye sürer.
Kontrolün çalışma zamanında yalnızca bir kez yapılması için bunu optimize etmenin bir yolu var mı?
OPTION(RECOMPILE)