症狀
假設你安裝了 Microsoft 2017 或 2019 SQL Server,並且它以預設的 Cardinality Estimation (CE) 運行。 你執行一個查詢,該查詢的篩選條件是欄位 Col1。 查詢謂詞具有內在的 Upper、LOWER 或 RTRIM。 Col1 有供優化器使用的統計資料。 在這種情況下,你可能會觀察到基數估計不準確,且 SQL Server 使用的計畫效率不佳。 以下是一些帶有謂詞的查詢:
請選擇person_id收件人, (電子郵件如 Upper (N'@live.com%) )
選擇person_id 從個人 選出 (電子郵件 = 上方 (N'msft@live.com) )
狀態
Microsoft 已確認這是「適用對象」一節中列出的 Microsoft 產品中的問題。
解決方式
此問題已在以下 SQL Server 的累積更新中得到修正:
關於 SQL Server 的累積更新:
每次新的 SQL Server 累積更新都包含了之前累積更新中包含的所有熱修補與安全修補。 請查看 SQL Server 的最新累積更新:
註 此修正需以下其中一項生效:
參考資料
了解 Microsoft 用來說明軟體更新的術語。