我有一个索引视图,我根据查询该视图的方式添加了覆盖索引。效果很好。
这是查询(删除了查询字段):
SELECT [ABunchOfFields]
FROM [dbo].[ListingsSearchView][a] WITH (NOEXPAND)
WHERE [a].[LocationId] IN (1,2,3,4,5)
AND [a].[StatusType] = 1
参见执行计划:
查看客户统计信息:
一切对我来说都很好。
通常,查询会回到亚秒级。
但是我注意到我的SQL Profiler跟踪,这次查询已经花了几次 2-10秒。当我在我的探查器中看到它们时,通常会同时调用它们。
请注意开始时间。
为什么在同时调用(例如多个请求)时此查询会变慢? CPU很低,读取率很低,查询计划似乎已经过优化。
此外,这是查询此索引视图的 only 查询。
我唯一能想到的是,在慢速期间,对这个索引视图后面的表有一些缓慢的写入,所以索引正在重建?
任何人都可以对此有所了解,提供一些要查看的内容或建议吗?我可以在这里使用NOLOCK
或READ UNCOMMITTED
提示吗?
感谢。