KB4538497 - DÜZELTME: SQL Server 2017 ve 2019'da varsayılan CE ile UPPER, LOWER veya RTRIM ile sorgu yüklemleri kullanıldığında yavaş sorgu performansı

Uygulandığı Öğe
SQL Server 2017 on Windows SQL Server 2019 on Windows

Belirtiler

Microsoft SQL ServerSQL Server 2017 veya 2019'un yüklü olduğunu ve bunun varsayılan Kardinalite Tahmini (CE) ile çalıştığını varsayalım. Sütun1 sütununda filtre koşulu olan bir sorguyu yürütürsünüz. Sorgu yüklemlerinin kendine özgü UPPER, LOWER veya RTRIM vardır. Sütun1, optimize edici tarafından kullanılacak istatistiklere sahiptir. Bu senaryoda, hatalı kardinalite tahminleri ve SQL Server verimsiz bir plan kullandığını gözlemleyebilirsiniz. Aşağıda koşulları olan bazı sorgular verilmiştir:

SELECT person_id FROM Person WHERE (email LIKE UPPER(N'@live.com%'))

SELECT person_id FROM Person WHERE (email = UPPER(N'msft@live.com'))

      

Durum

Microsoft bunun, "Şunlar için geçerlidir" bölümünde listelenen Microsoft ürünlerinde sorun olduğunu doğrulamıştır.

Çözüm

Bu sorun, SQL ServerSQL Server için aşağıdaki toplu güncelleştirmelerde düzeltildi:

SQL Server toplu güncelleştirmeleri hakkında:

SQL Server için her yeni toplu güncelleştirme, önceki toplu güncelleştirmeye dahil edilen tüm düzeltmeleri ve tüm güvenlik düzeltmelerini içerir. SQL Server için en son toplu güncelleştirmelere göz atın:

Notlar Bu düzeltmenin etkili olması için aşağıdakilerden biri gerekir:

Başvurular

Microsoft'un yazılım güncelleştirmelerini tanımlamak için kullandığı terminoloji hakkında bilgi edinin.