我在SSMS2008以下查询:查询速度在SQL Server Management Studio中(2008年)与NHibernate的session.Query
select *
from Measurements
where dt > '2016-01-01 04:00:00'
and dt < '2016-01-01 04:05:00'
and classification = 'heartbeat'
我的表中有超过400万条记录在里面,心跳等数据(我知道),但上面的查询在不到1秒内执行(检索1500条记录)。 dt和分类列上有索引。
当我使用此查询NHibernate的:
var heartbeats = session.Query<Measurements>()
.Where(m.dt > dtFr &&
m.dt < dtTo &&
m.classification = 'heartbeat')
.ToList();
。然而,此查询失败。唯一不同的是(据我所见),是我使用DateTime对象(和dtTo
)并将它们传递给linq表达式。但是,当这个查询失败(超时),我可以复制+粘贴失败的查询到SSMS2008,它会在那里执行没有任何问题。
编辑:昨天我做了太多的测试,我把事情弄混了。这似乎是失败的查询不会运行(均不是从SSMS)。我看不出我做错了什么。
那么现在的问题是什么?当你不知道自己在做什么时很难帮助你... –