症狀
請考慮以下案例:
- 你有一個查詢使用了 SQL Server 2014 或 2016 中唯一 GUID 欄位的非等號謂詞。
- 統計數據會透過預設抽樣方式更新。 或者,在最後一次統計更新後,資料表會新增資料列。
- SQL Server 使用新的基數估計器,其中資料庫相容模式設為 120。
- GUID 值在表格中分布不均勻。
在這種情況下,當你執行查詢時,可能會因為查詢計畫中謂詞的列數估算錯誤而導致效能不佳。
解決方式
此問題首次在以下 SQL Server 累積更新中被修正:
累積更新 6 for SQL Server 2014 Service Pack 1
累積更新1 for SQL Server 2016
安裝這個累積更新套件後,你必須啟用追蹤旗標 4199。 你可以加入 -T4199 啟動參數。 或者,你可以在特定會話中使用 dbcc traceon (4199) 陳述句。
關於 SQL Server 的累積更新
每次新的 SQL Server 累積更新都包含了之前累積更新中包含的所有熱修補與安全修補。 請查看 SQL Server 的最新累積更新:
SQL Server 2014 最新累積更新
SQL Server 2016 最新累積更新
狀態
Microsoft 已確認這是「適用對象」一節中列出的 Microsoft 產品中的問題。
參考資料
了解 Microsoft 用來描述軟體更新的 術語 。