Comment étudier les avertissements d'octroi de mémoire?

Jan 01 2021

J'ai vu cet avertissement de la requête dans le cache du plan

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

RequestedMemory représente-t-il des octets ou des kilo-octets?

Comment dépannez-vous la cause de cet avertissement?

Réponses

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

Cela résulte généralement (bien que je pense que d'autres choses peuvent également le causer) de problèmes d' estimation de cardinalité . Vous devez examiner le plan d'exécution réel et voir si vous avez des erreurs d'estimation en comparant le nombre total estimé de lignes au nombre réel de lignes . Si vous mettez à jour votre question avec le plan d'exécution (vous pouvez le télécharger sur Coller le plan et le lier à votre question), nous pouvons vous donner une meilleure direction sur la source de votre problème de mémoire excessive.