表Tb(Rdt,f1,f2,f3,Kid),其中Rdt是日期字段,Kid是int字段。表里面有20G的数据。
现在给定一个Kid值,比如65,要查询出日期字段的分钟部分(即datepart(mi,Rdt)为整十,且秒部分为0的所有记录,也就是日期间隔为10分钟,比如:
2011-10-1 10:20:00
2011-10-1 10:30:00
2011-10-1 10:40:00
2011-10-1 10:50:00
2011-10-1 11:00:00
2011-10-1 11:10:00
请问这个查询语句怎样写效率最高?
现在给定一个Kid值,比如65,要查询出日期字段的分钟部分(即datepart(mi,Rdt)为整十,且秒部分为0的所有记录,也就是日期间隔为10分钟,比如:
2011-10-1 10:20:00
2011-10-1 10:30:00
2011-10-1 10:40:00
2011-10-1 10:50:00
2011-10-1 11:00:00
2011-10-1 11:10:00
请问这个查询语句怎样写效率最高?
where Rdt between @sDt1 and @sDt2 and datepart(ss,Rdt)=0 and datepart(mi,Rdt)%10=0 and Kid=@sKid
order by Rdt
把 Kid 放到最前面测试对比一下.
不过,关键恐怕是索引要建好.