KB3192154 - O opțiune de plan de interogare neoptimă provoacă performanțe slabe atunci când se caută valori din afara intervalului reprezentat în statistici în SQL Server 2016 și 2017

Se aplică la
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

Simptome

Luați în considerare următorul scenariu:

  • Utilizați o configurație de estimare a cardinalității (CE) care corespunde nivelului de compatibilitate al bazei de date 120 sau unui nivel ulterior pentru sistemul dvs. Microsoft SQL Server 2016 și 2017.
  • Executați o interogare care conține un predicat de căutare.
  • Interogarea caută valori mai mici sau egale cu orice număr mai mic decât valoarea minimă de RANGE_HI_KEY stocată în obiectul statistic. Sau interogarea caută valori mai mari decât valoarea maximă de RANGE_HI_KEY pentru aceleași statistici.

În acest scenariu, utilitarul de optimizare a interogărilor supraestimează numărul de rânduri. Acest lucru ar putea determina o alegere a planului de interogare mai puțin optim și performanțe slabe.

Rezolvare

Remedierea pentru această problemă este inclusă în următoarele actualizări cumulative pentru SQL Server:

Actualizarea cumulativă 6 pentru SQL Server 2017

Actualizarea cumulativă 8 pentru SQL Server 2016 SP1

Actualizarea cumulativă 2 pentru SQL Server 2016
Notă După ce instalați această actualizare, trebuie să activați semnalizarea de urmărire 4199 pentru a activa această remediere. Pentru a activa semnalizarea de urmărire 4199, consultați subiectul Semnalizările de urmărire (Transact-SQL) de pe site-ul web Rețea Microsoft pentru dezvoltatori (MSDN).

Despre actualizările cumulative pentru SQL Server

Fiecare actualizare cumulativă nouă pentru SQL Server conține toate remedierile rapide și toate remedierile de securitate care au fost incluse cu actualizarea cumulativă anterioară. Consultați cele mai recente actualizări cumulative pentru SQL Server:

Cea mai recentă actualizare cumulativă pentru SQL Server 2017

Cea mai recentă actualizare cumulativă pentru SQL Server 2016

Stare

Microsoft a confirmat că aceasta este o problemă în produsele Microsoft care sunt listate în secțiunea „Se aplică la”.

Referințe

Aflați despre terminologia pe care o utilizează Microsoft pentru a descrie actualizările de software.