我们有一个小问题,我们查询,这是一个.NET(4.5),通过应用System.Data.SqlClient.SqlCommand
内部执行的一个。SQL服务器忽略索引并执行表扫描
的问题是,该查询将要执行表扫描,这是非常缓慢的。因此,执行计划展示了在这里表扫描
,使文本显示,该过滤器Termine.Datum和Termine.EndDatum导致表扫描。但为什么SQL-Server忽略索引? Termine.Datum和Termine.EndDatum上有两个索引。我们还尝试添加第三个结合的数据和EndDatum。
的指标都是非聚集索引和这两个领域都日期时间。
显然'statistics'已经过时了!!更新统计再试运行查询 –
还发布查询和索引的详细信息,以获得更准确的响应。在这里分享执行计划https://www.brentozar.com/pastetheplan/ –
由于您尝试两个范围查询,两个单独的索引绝对无助于您。单一的组合索引*可能有用,但不能保证如此。 –