为什么我的索引视图查询在同时查询时表现不佳?

时间:2016-04-11 22:55:24

标签: sql-server sql-server-2014

我有一个索引视图,我根据查询该视图的方式添加了覆盖索引。效果很好。

这是查询(删除了查询字段):

SELECT      [ABunchOfFields]
FROM        [dbo].[ListingsSearchView][a] WITH (NOEXPAND)
WHERE       [a].[LocationId] IN (1,2,3,4,5)
AND         [a].[StatusType] = 1

参见执行计划:

enter image description here

查看客户统计信息:

enter image description here

一切对我来说都很好。

通常,查询会回到亚秒级。

但是我注意到我的SQL Profiler跟踪,这次查询已经花了几次 2-10秒。当我在我的探查器中看到它们时,通常会同时调用它们。

这是一个例子: enter image description here

请注意开始时间。

为什么在同时调用(例如多个请求)时此查询会变慢? CPU很低,读取率很低,查询计划似乎已经过优化。

此外,这是查询此索引视图的 only 查询。

我唯一能想到的是,在慢速期间,对这个索引视图后面的表有一些缓慢的写入,所以索引正在重建?

任何人都可以对此有所了解,提供一些要查看的内容或建议吗?我可以在这里使用NOLOCKREAD UNCOMMITTED提示吗?

感谢。

0 个答案:

没有答案