¿Cómo investigar las advertencias de concesión de memoria?

Jan 01 2021

Vi esta advertencia de la consulta en la caché del plan

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

¿RequestedMemory representa bytes o kilobytes?

¿Cómo puede solucionar el problema que provocó esta advertencia?

Respuestas

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

Esto generalmente es el resultado (aunque creo que otras cosas también pueden causarlo) de problemas de Cardinality Estimate . Debe mirar el Plan de ejecución real y ver si tiene estimaciones erróneas comparando el total de número estimado de filas con el número real de filas . Si actualiza su pregunta con el Plan de ejecución (puede cargarlo en Pegar el plan y vincularlo a su pregunta), podemos darle una mejor dirección sobre el origen de su problema de concesión de memoria excesiva.