sql2008 r2 x64,不同时间段搜索有时快,有时非常缓慢(已排除其它原因,原因就是出在MSSQL上)
本帖最后由 rd16 于 2013-09-28 21:48:31 编辑
@startsj datetime,
@endjs datetime
SELECT * FROM 视图 WHERE I_时间 >=@startsj AND I_时间 <=@endjs
----------------------
我在 20:30 的时候测试,条件如下,要用9秒的时间
I_时间 >='2013-09-28 08:00:00' AND I_时间 <='2013-09-29 08:00:00'
----------------------
同样在 20:30 的时候测试,条件如下,只要用2秒的时间(查询条件去掉了时间)
I_时间 >='2013-09-28' AND I_时间 <='2013-09-29'
***********************************************************
怪事来了
我在 21:00 的时候测试,条件如下,只要用到2秒
I_时间 >='2013-09-28 08:00:00' AND I_时间 <='2013-09-29 08:00:00'
也就是说,我在晚上8点测试很慢,但在9点测试快很多。(查询的条件是一样的)
==============================================
可以排除网络问题,因为我是在服务器的查询分析里测试的
可以排除资源占用问题,因为服务器是只装了MSSQL,而且没有连接。
------解决方案--------------------这个你不能得到这个结论,也许8点时服务有其他服务在忙. 查询所花的时候与服务是否繁忙有关系
只有date长度10位,datetime长度为19位,理所查询19位的查询需要时间长,
如果你对日期建立了索引,同一表格估计没有多大差别,1秒以内
------解决方案--------------------有没有在 【I_时间】 字段上建立索引呢,如果没有建,这个问题就没有讨论的意义。