Jak zbadać ostrzeżenia o przyznaniu pamięci?

Jan 01 2021

Widziałem to ostrzeżenie z zapytania w pamięci podręcznej planu

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

Czy RequestedMemory reprezentuje bajty czy kilobajty?

Jak rozwiązać problem, który spowodował to ostrzeżenie?

Odpowiedzi

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

Jest to zwykle wynikiem (choć uważam, że mogą to również powodować inne rzeczy) z problemów z oszacowaniem liczności. Powinieneś spojrzeć na rzeczywisty plan wykonania i sprawdzić, czy masz jakieś błędne oszacowania, porównując łączną szacowaną liczbę wierszy z rzeczywistą liczbą wierszy . Jeśli zaktualizujesz swoje pytanie planem wykonania (możesz go przesłać do Wklej plan i połączyć je ze swoim pytaniem), możemy dać ci lepsze wskazówki dotyczące źródła problemu z nadmiernym przyznaniem pamięci.