KB4538497 - 修正:2017 SQL Server 2017 及 2019 年,使用 Upper、LOWER 或 RTRIM 搭配預設 CE 的查詢謂詞時,查詢效能緩慢

套用到
SQL Server 2017 on Windows SQL Server 2019 on Windows

症狀

假設你安裝了 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 用來說明軟體更新的術語