я выполняю следующий SQL:Как улучшить производительность SQL для этого случая?
Select * from myTable
where myID =123
and myDate >= (case when isnull(null,'')='' then myDate else null end)
Производительность очень плохо.
Если я могу изменить его так:
Select * from myTable
where myID =123
and myDate >= myDate
производительность намного лучше.
Мой реальный SQL может быть что-то вроде:
Select * from myTable
where myID =123
and myDate >= (case when isnull(@myDate,'')='' then myDate else null end)
myDate
является Datetime
колонка.
Как улучшить производительность для этого случая?
Каковы индексы на myTable? –
почему это? 'isnull (null, '')' – gbn
'производительность намного лучше.' Это потому, что у вас есть предложение dud 'mydate> = mydate', которое на 100% всегда верно – RichardTheKiwi