承接上篇,深入剖析連線記憶體配置、客戶端請求事件分類,以及為何 RPC 能提升計畫重用效率。
sp_configure 的「預設網路封包大小」。.NET Framework Data Provider for SQL Server 預設 8 KB → MemToLeave;傳統 ADO 預設 4 KB → 緩衝集區。
SELECT * FROM tbl)。ADO CommandType = adCmdText 時產生。CommandType = adCmdStoredProc)。| 維度 | 語言事件 | RPC |
|---|---|---|
| 參數化 | 依賴伺服器自動參數化(能力有限) | 顯式參數化,計畫穩定重用 |
| 計畫編譯成本 | 相同邏輯不同參數可能產生多份計畫 | 首次編譯後後續重用,節省 CPU/記憶體 |
| 執行效率 | 需解析、編譯每批次 | 直接呼叫已編譯程序 |
最佳實務:高頻、參數化查詢優先使用預存程序 + RPC 呼叫;臨時性、動態 SQL 才用語言事件。如此能大幅降低計畫快取壓力,提升併發效能。