由于MemoryGrant延迟,存储过程会间歇性地挂起

时间:2015-09-13 23:24:14

标签: sql-server

正在运行SQL Server 2014。我有一个存储过程,在几个表上执行多个连接。它通常在5毫秒内运行,但偶尔需要30秒。我可以在本地,单用户,独立数据库Express Edition)上重复此操作,只需在SQL Management Studio中运行查询 - 就像50次一样。

数据库几乎是空的。最多有100-1000行,并且所有列都已编制索引。查询如何连续五十次 3毫秒运行,然后突然 30秒 - 没有其他活动连接?

更新

我可以确认延迟是由MemoryGrant延迟引起的。执行计划显示此警告:

  

在执行期间,查询必须等待11秒才能获得MemoryGrant

如何防止这种情况发生?我不明白为什么在以前运行此查询时可能会立即释放内存问题。

0 个答案:

没有答案