-1 sql-server stored-procedures execution-plan query-performance
即使我添加了所有建议的索引,我的存储过程有时也会花费很长时间。我不断收到查询必须等待内存授予 查询计划可以在这里找到:查询计划
这个查询无疑是一场灾难,但如果它有时缓慢的原因是它正在等待内存(RESOURCE_SEMAPHORE),那么您所在的服务器可能无法承受整个工作负载。
我看到EstimatedAvailableMemoryGrant="417308"
和EstimatedAvailableDegreeOfParallelism="2"
可以支持这一点。
您可以通过使用MAX_GRANT_PERCENT提示人为地减少“问题”查询的内存授予,并找到一个值,使其能够以更少的内存运行,而不会溢出足够的内存导致性能问题。
由于您只发布了缓存/估计计划,我无法真正告诉您问题出在哪里,但这里有一般的反模式:
归档时间: |
|
查看次数: |
1964 次 |
最近记录: |