Производительность запроса между диапазонами дат - PullRequest
0 голосов
/ 03 мая 2018

У меня есть простой запрос, чтобы получить дату между несколькими диапазонами дат. Он работает примерно за 10 секунд, но я хотел бы улучшить его производительность, если это возможно. Заранее спасибо

declare @Fst_LY date, @Lst_LY date, @Fst_TY date, @Lst_TY date

----------------------------------------------
set @Fst_TY ='4/1/18'   --First day this year
set @Lst_TY ='4/30/18'  --Last day this year
----------------------------------------------
set @Fst_LY ='4/2/17'   --First day last year
set @Lst_LY ='5/1/17'   --Last day last year
----------------------------------------------

select distinct  hyp as H
    from myView
where       
([Contract] between  @Fst_LY  and  @Lst_LY)  or ([Contract] between @Fst_TY  and  @Lst_TY)) 

1 Ответ

0 голосов
/ 03 мая 2018

Попробуйте использовать объединение вместо или:

select  hyp as H
        from myView
    where       
     [Contract] between  @Fst_LY  and  @Lst_LY
    union  
    select  hyp as H
        from myView
    where       
     [Contract] between  @Fst_TY  and  @Fst_LY
...