KB3192154 - Een niet-optimale keuze voor een queryplan veroorzaakt slechte prestaties wanneer wordt gezocht naar waarden buiten het bereik dat in de statistieken wordt weergegeven, SQL Server 2016 en 2017

Van toepassing op
SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2017 Developer on Windows SQL Server 2017 Enterprise on Windows SQL Server 2017 Enterprise Core on Windows SQL Server 2017 Standard on Windows SQL Server 2016 Service Pack 1

Symptomen

Neem als voorbeeld het volgende scenario:

  • U gebruikt een configuratie voor kardinaliteitsschatting (CE) die overeenkomt met databasecompatibiliteitsniveau 120 of een hoger niveau voor uw Microsoft SQL Server 2016- en 2017-systeem.
  • U voert een query uit die een zoekpredikaat bevat.
  • Met de query wordt gezocht naar waarden die kleiner zijn dan of gelijk zijn aan een getal dat kleiner is dan de minimumwaarde van RANGE_HI_KEY dat is opgeslagen in het statistische object. Of met de query wordt voor dezelfde statistieken gezocht naar waarden die groter zijn dan de maximumwaarde van RANGE_HI_KEY.

In dit scenario overschat het query-optimalisatieprogramma het aantal rijen. Hierdoor kan de keuze van het queryplan minder dan optimaal zijn en kunnen de prestaties slecht zijn.

Oplossing

De oplossing voor dit probleem is opgenomen in de volgende cumulatieve updates voor SQL Server:

Cumulatieve update 6 voor SQL Server 2017

Cumulatieve update 8 voor SQL Server 2016 SP1

Cumulatieve update 2 voor SQL Server 2016
Opmerking Nadat u deze update hebt geïnstalleerd, moet u traceringsvlag 4199 inschakelen om deze oplossing in te schakelen. Als u traceringsvlag 4199 wilt inschakelen, raadpleegt u het onderwerp Traceringsvlaggen (Transact-SQL) op de website van Microsoft Developer Network (MSDN).

Informatie over cumulatieve updates voor SQL Server

Elke nieuwe cumulatieve update voor SQL Server bevat alle hotfixes en alle beveiligingspatches die deel uitmaakten van de vorige cumulatieve update. Bekijk de meest recente cumulatieve updates voor SQL Server:

Meest recente cumulatieve update voor SQL Server 2017

Meest recente cumulatieve update voor SQL Server 2016

Status

Microsoft heeft bevestigd dat dit een probleem is bij de Microsoft-producten die worden vermeld in de sectie Van toepassing op.

Meer informatie

Meer informatie over de terminologie die Microsoft gebruikt om software-updates te beschrijven.