共用方式為


SQL Server、SQL Statistics 物件

SQL Server 中的 SQLServer:SQL Statistics 物件提供計數器來監視編譯和傳送至 SQL Server 實例的要求類型。 監視查詢的編譯與重新編譯數目以及 SQL Server 執行個體所接收的批次數目,可讓您了解 SQL Server 處理使用者查詢的速度以及查詢最佳化工具處理查詢的效率。

編譯是查詢回合時間的重要部分。 為了節省編譯成本,Database Engine 會將編譯的查詢計劃儲存在查詢快取中。 快取的目標是藉由儲存已編譯的查詢來減少編譯,以供稍後重複使用,因此在稍後執行時結束重新編譯查詢的需求。 不過,每個唯一查詢至少必須編譯一次。 查詢重新編譯可能是由下列因素所造成:

  • 架構變更,包括將數據行或索引加入數據表等基底架構變更,或統計數據架構變更,例如插入或刪除數據表中的大量數據列。

  • 環境(SET 陳述式)變更。 會話設定中的變更,例如ANSI_PADDING或ANSI_NULLS可能會導致重新編譯查詢。

如需簡單和強制參數化的詳細資訊,請參閱 ALTER DATABASE (Transact-SQL)

這些是 SQL Server SQL 統計數據 計數器。

SQL Server SQL 統計數據計數器 說明
自動參數嘗試次數/秒 每秒自動參數化嘗試次數。 總計應該是失敗、安全且不安全的自動參數化總和。 當 SQL Server 實例嘗試透過將某些文字常數取代為參數來自動參數設定 Transact-SQL 要求時,會發生自動參數設定,以便在多個類似的要求中重複使用產生的快取執行計劃。 請注意,在較新版本的 SQL Server 中,自動參數化也稱為簡單參數化。 此計數器不包含強制參數化。
批次請求/每秒 每秒接收的 Transact-SQL 命令批次數目。 此統計數據會受到所有條件約束的影響(例如 I/O、用戶數目、快取大小、要求的複雜度等等)。 高批量要求表示良好的吞吐量。
自動參數失敗/秒 每秒失敗的自動參數化嘗試次數。 這應該要小一點。 請注意,在更新版本的 SQL Server 中,自動參數化也稱為簡單參數化。
強制參數化/每秒 每秒成功的強制參數化數目。
每秒指導計劃執行次數 使用計劃指南產生查詢計劃的每秒計劃執行次數。
誤導計劃執行次數/秒 在計劃生成過程中未能遵循計劃指南的每秒計劃執行次數。 計劃指南遭到忽略,並使用一般編譯來產生執行的計劃。
安全自動參數/秒 每秒安全自動參數化嘗試次數。 Safe 是指 判斷 快取的執行計劃可以在外觀相似的不同 Transact-SQL 語句之間共享。 SQL Server 會進行許多自動參數化嘗試,其中有些嘗試結果為安全,而其他則失敗。 請注意,在更新版本的 SQL Server 中,自動參數化也稱為簡單參數化。 這不包括強制參數化。
SQL 注意率 每秒的注意數目。 注意請求是客戶端要求終止當前正在執行的請求。
SQL 編譯/秒 每秒的 SQL 編譯數目。 指出輸入編譯程式代碼路徑的次數。 包含 SQL Server 中語句層級重新編譯所造成的編譯。 SQL Server 用戶活動穩定之後,這個值就會達到穩定狀態。
SQL 重新編譯次數/秒 每秒語句重編譯的次數。 計算觸發語句重新編譯的次數。 一般而言,您希望重新編譯的次數保持在低水平。
不安全的自動參數/每秒 每秒不安全的自動參數化嘗試次數。 例如,查詢具有一些特性,可防止共用快取的計劃。 這些被指定為不安全。 這不會計算強制參數化的數目。

另請參閱

SQL Server,Plan Cache 物件
監視資源使用狀況 (系統監視器)