Sql-Server
關於似乎更好的查詢的記憶體授予警告?
好的,我正在考慮可能減少這種情況(因為更多的是練習而不是需要提醒你),並且似乎我收到了關於似乎是性能更好的查詢而不是需要更多記憶體來執行的查詢的警告?這很奇怪還是我只是想多了?
有人想在這裡教育我(對不起大圖)?
第一次查詢並將滑鼠懸停在:
UPDATE c SET c.scust_phone = cc.scontract_holder_hphone FROM #Claims c INNER JOIN SCS.scs_auto_sra.scs_contracts cc ON c.icontract_id = cc.icontract_id ;
第二個查詢並將滑鼠懸停在:
UPDATE c SET c.scust_phone = cc.scontract_holder_hphone FROM #Claims c INNER JOIN ( SELECT icontract_id, scontract_holder_hphone FROM SCS.scs_auto_sra.scs_contracts cc WHERE EXISTS (SELECT icontract_id FROM #Claims x WHERE x.icontract_id = cc.icontract_id ) ) cc ON c.icontract_id = cc.icontract_id ;
實際上,過多記憶體授予的警告使用了硬編碼邏輯。當分配的記憶體的某個百分比未使用但不考慮浪費的記憶體量時,它會發出警報。
它不能被“信任”,如果像在這種情況下,它只有 1Mb 被分配而不被使用,你不應該擔心它。
我見過這樣的情況(已分配 1Mb,未使用 1Mb)以及分配 256Mo 和使用 136Mo(因此未使用 120Mo)但沒有警告的情況。