KB4538497 – FIX: Langsame Abfrageleistung bei Verwendung von Abfrage-Prädikaten mit UPPER, LOWER oder RTRIM mit Standard-CE in SQL Server 2017 und 2019

Gilt für
SQL Server 2017 on Windows SQL Server 2019 on Windows

Symptome

Angenommen, Sie haben Microsoft SQL Server 2017 oder 2019 installiert und wird mit der Standardmäßigen Kardinalitätsschätzung (Cardinality Estimation, CE) ausgeführt. Sie führen eine Abfrage mit einem Filter-Prädikat für Spalte Col1 aus. Abfrage-Prädikate verfügen über systeminterne UPPER-, LOWER- oder RTRIM-Funktionen. Col1 verfügt über Statistiken, die vom Optimierer verwendet werden sollen. In diesem Szenario können Sie ungenaue Kardinalitätsschätzungen beobachten und SQL Server einen ineffizienten Plan verwenden. Im Folgenden sind einige Abfragen aufgeführt, die Über Prädikate verfügen:

SELECT person_id FROM Person WHERE (E-Mail wie UPPER(N'@live.com%'))

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

      

Status

Microsoft hat bestätigt, dass dies ein Problem bei den Microsoft-Produkten ist, die im Abschnitt „Gilt für“ aufgeführt sind.

Lösung

Dieses Problem wurde in den folgenden kumulativen Updates für SQL Server behoben:

Informationen zu kumulativen Updates für SQL Server:

Jedes neue kumulative Update für SQL Server enthält alle Hotfixes und alle Sicherheitsfixes, die im vorherigen kumulativen Update enthalten waren. Sehen Sie sich die neuesten kumulativen Updates für SQL Server an:

Hinweis Dieser Fix erfordert, dass eine der folgenden Aktionen wirksam wird:

Referenzmaterial

Informieren Sie sich über die Terminologie, die Microsoft zum Beschreiben von Softwareupdates verwendet.