Sql 日期范围之间的查询性能
我有一个简单的查询来获取两个日期范围之间的日期。它运行大约10秒,但如果可能的话,我想提高它的性能。 提前谢谢Sql 日期范围之间的查询性能,sql,sql-server,performance,between,Sql,Sql Server,Performance,Between,我有一个简单的查询来获取两个日期范围之间的日期。它运行大约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 th
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))
尝试使用union而不是or:
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
速度完全取决于您的视图。请显示执行计划,并用您正在使用的任何数据库标记您的问题。谢谢。我没有访问执行计划的权限。我使用的是SQLServertry UNION ALL,如果没有重复项或数据重复就可以了。这将进一步加快处理速度