Wie kann man Warnungen vor Speichergewährung untersuchen?

Jan 01 2021

Diese Warnung wurde von der Abfrage im Plan-Cache angezeigt

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

Stellt RequestedMemory Bytes oder Kilobytes dar?

Wie können Sie Fehler beheben, die diese Warnung verursacht haben?

Antworten

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

Dies ist normalerweise auf Probleme mit der Kardinalitätsschätzung zurückzuführen (obwohl ich glaube, dass andere Dinge dies ebenfalls verursachen können) . Sie sollten sich den tatsächlichen Ausführungsplan ansehen und feststellen, ob Sie falsche Schätzungen haben, indem Sie die geschätzte Anzahl der Zeilen insgesamt mit der tatsächlichen Anzahl der Zeilen vergleichen . Wenn Sie Ihre Frage mit dem Ausführungsplan aktualisieren (Sie können sie in " Plan einfügen" hochladen und mit Ihrer Frage verknüpfen), können wir Ihnen eine bessere Anleitung zur Ursache Ihres Problems mit übermäßigem Speicherzuschuss geben.