Come esaminare gli avvisi di concessione di memoria?

Jan 01 2021

Ho visto questo avviso dalla query nella cache del piano

<Warnings>
     <MemoryGrantWarning GrantWarningKind="Excessive Grant" RequestedMemory="2751552" GrantedMemory="2751552" MaxUsedMemory="768" />
</Warnings>

RequestedMemory rappresenta byte o kilobyte?

Come risolvi la causa di questo avviso?

Risposte

1 J.D. Jan 01 2021 at 08:53

Questo di solito è il risultato (anche se credo che anche altre cose possano causarlo) da problemi di stima della cardinalità . È necessario esaminare il piano di esecuzione effettivo e verificare se sono presenti stime errate confrontando il numero stimato di righe totali con il numero effettivo di righe . Se aggiorni la tua domanda con il piano di esecuzione (puoi caricarla su Paste The Plan e collegarla alla tua domanda), possiamo darti indicazioni migliori sull'origine del tuo problema di concessione di memoria eccessiva.