Как исследовать предупреждения о предоставлении памяти?
Видел это предупреждение из запроса в кеше планов
<Warnings>
<MemoryGrantWarning GrantWarningKind="Excessive Grant" RequestedMemory="2751552" GrantedMemory="2751552" MaxUsedMemory="768" />
</Warnings>
Представляет ли RequestedMemory байты или килобайты?
Как устранить причину появления этого предупреждения?
Ответы
Обычно это является результатом (хотя я считаю, что это могут быть и другие причины) из-за проблем с оценкой мощности . Вам следует взглянуть на Фактический план выполнения и посмотреть, есть ли у вас какие-либо ошибки в оценке, сравнив общее предполагаемое количество строк с фактическим количеством строк . Если вы обновите свой вопрос с помощью плана выполнения (вы можете загрузить его в « Вставить план» и связать его со своим вопросом), то мы сможем дать вам более четкое представление об источнике вашей проблемы с чрезмерным выделением памяти.