メモリ付与の警告を調査する方法は?
プランキャッシュのクエリからこの警告を見た
<Warnings>
<MemoryGrantWarning GrantWarningKind="Excessive Grant" RequestedMemory="2751552" GrantedMemory="2751552" MaxUsedMemory="768" />
</Warnings>
RequestedMemoryはバイトまたはキロバイトを表しますか?
この警告の原因をどのようにトラブルシューティングしますか?
回答
1 J.D.
これは通常、Cardinality Estimateの問題が原因で発生します(他の原因も考えられますが)。あなたは見なければならない実際の実行計画とあなたが比較することにより、任意の誤推定を持っているかどうかを確認行の推定数は、総実際の行数。実行プランを使用して質問を更新すると([プランの貼り付け]にアップロードして質問にリンクできます)、過剰なメモリ付与の問題の原因についてより適切な方向性を示すことができます。