Sql-Server

Sql Server 是否記憶體參數化匿名塊?

  • February 8, 2021

“匿名塊”是 Oracle 的一個術語。但是說到 sql server

Declare
  ....
Begin
   begin trans
. . . 
   commit
End

如果我通過 ADO.NET 以參數化的形式將此 SQL 發送到伺服器,它會被記憶體並重用還是每次都重新編譯?

根據我對 Oracle 中匿名塊的簡要閱讀,這本質上只是 SQL Server 中的一個臨時查詢。是的,即席查詢記憶體在 SQL Server 的查詢計劃記憶體中,因此只要它們留在記憶體中,就不會重新編譯後續執行。(查詢計劃記憶體具有根據伺服器繁忙度從記憶體中刪除舊的和/或很少使用的計劃的機制。)

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