Sql-Server

如何調查記憶體授予警告?

  • January 1, 2021

從計劃記憶體中的查詢中看到此警告

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

RequestedMemory 是代表字節還是千字節?

您如何解決導致此警告的原因?

這通常是基數估計問題的結果(儘管我相信其他事情也可能導致它)。您應該查看Actual Execution Plan並通過比較****Estimated Number of Rows total 和Actual Number of Rows來查看是否有任何錯誤估計。如果您使用執行計劃更新您的問題(您可以將其上傳到粘貼計劃並將其連結到您的問題),那麼我們可以為您提供更多關於記憶體授予問題來源的更好指導。

引用自:https://dba.stackexchange.com/questions/282415