Izbor plana-optimalni upita uzrokuje loše performanse kada vrednosti izvan opsega zastupljena u statistici se pretražuju u SQL Server 2016 i 2017

Primenjuje se na: SQL Server 2016 DeveloperSQL Server 2016 EnterpriseSQL Server 2016 Enterprise Core

Simptomi


Razmotrite sledeći slučaj:
  • Koristite cardinality proceni (CE) konfiguraciju koja odgovara nivo kompatibilnosti baze podataka 120 ili kasnije nivo za tvoj 2016 za Microsoft SQL Server i 2017 sistem.
  • Pokrenete upit koji sadrži pretragu predikat.
  • Upit traži vrednosti koje su manje ili jednako bilo koji broj koji je manji od minimalne vrednosti od RANGE_HI_KEY koja je uskladištena u statistiku objekta. Ili, upit pretražuje vrednosti koje su veće od maksimalne vrednosti od RANGE_HI_KEY za istu statistiku.
U ovom slučaju, upit optimizator precenjuje broj redova. Ovo izaziva upit za manje-nego-optimalno planiranje izbora i loše performanse.

Rezolucija


Ispravka za ovaj problem je uključen u sledeće kumulativne ispravke za SQL Server:


Napomena Nakon što instalirate ovu ispravku, morate da omogućite traga zastava 4199 da biste omogućili ovu ispravku. Da biste omogućili praćenje zastava 4199, potražite u temi Traga zastavice (Transact-SQL) na Web lokaciji Microsoft Developer Network (MSDN).
 

Status


Microsoft je potvrdio da je ovo problem kod Microsoft proizvoda koji su navedeni u odeljku „Odnosi se na”.

Reference


Saznajte više o terminologiji Microsoft koristi za opisivanje softverskih ažuriranja.