Sql server 查询在非聚集索引上运行缓慢

Sql server 查询在非聚集索引上运行缓慢,sql-server,performance,Sql Server,Performance,我有一个表调用,日志中有大约1000万条记录 我有如下疑问: select dnis, COUNT(1) as total, SUM(DATEDIFF(minute, time_in, time_out)) from call_log where time_in bewteen @dt1 and @dt2 group by dnis 通常,日期范围约为1个月,所选期间的总记录约为15000条。当前,在清除缓存26秒后,查询运行速度非常慢 我在+dnis中的time_列

我有一个表调用,日志中有大约1000万条记录

我有如下疑问:

select dnis, COUNT(1) as total, SUM(DATEDIFF(minute, time_in, time_out))
    from call_log 
    where time_in bewteen @dt1 and @dt2
    group by dnis
通常,日期范围约为1个月,所选期间的总记录约为15000条。当前,在清除缓存26秒后,查询运行速度非常慢

我在+dnis中的time_列上有索引

有没有办法优化它


谢谢,

表格上的统计数据更新了吗?。那么,你有一个索引,其中包含time_in和dnis作为键,你能在其中包含time_out列吗?显示你的@ZoharPeled,这不是最佳顺序。首先应该是time_in以允许搜索范围,然后可以将其他两列作为包含列添加,因为dnis对于此查询没有任何有用的顺序。需要=on time_in才能创建复合索引useful@MartinSmith这是正确的。有关这方面的更多信息,请参阅和。将该列包含在索引中后,它就是查询的覆盖索引。这意味着查询不需要转到表,它只能使用索引