徵狀
請試想下列情況:
-
您使用的 基數估計(CE)設定與資料庫相容性等級120或您的 Microsoft SQL Server 2016 和2017系統較新的層級。
-
您執行包含搜尋謂詞的查詢。
-
查詢會搜尋小於或等於任何小於已儲存在statistics 物件中RANGE_HI_KEY之最小值之數位的值。 或者,查詢會搜尋大於RANGE_HI_KEY 最大值的值,以取得相同的統計資料。
在這種情況下,查詢優化程式會 overestimates 資料列數。 這可能會導致不超過最佳的查詢方案選擇和效能較差。
解決方案
此問題的修正套裝程式含在 SQL Server 的下列累積更新中:
SQL Server 2016 的累積更新2 注意: 安裝此更新之後,您必須啟用追蹤標誌4199才能啟用此修正程式。 若要啟用追蹤標誌4199,請參閱 Microsoft 開發人員網路(MSDN)網站上的 追蹤標誌(transact-sql) 主題。
每個新的 SQL Server 累計更新都包含所有的修正程式,以及前一個累積更新中所包含的所有安全性修正程式。 查看 SQL Server 的最新累計更新:
狀態
Microsoft 已確認<適用於>一節中所列的 Microsoft 產品確實有上述問題。
參考
瞭解 Microsoft 用於描述軟體更新的 術語 。