KB4522127 - FIX: kehv päringujõudlus, kuna SQL Server 2016, kui kasutate vaike-CE-t ja veergu, on kaetud nii ühe- kui ka mitmeveerulise statistikaga

Rakenduskoht
SQL Server 2016 Service Pack 2 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)

Sümptomid

Oletagem, et käivitate päringu, mis sisaldab ühendamist või koondamist veerus, mis on kaetud nii ühe veeru kui ka mitme veeru statistikaga (milles see veerg ei ole algusveerg). Kui kasutate SQL Server 2016 vaike-kardinaalsuse estimaatorit (CE), võib see alahinnata eristatavate ridade arvu. See põhjustab ebaoptimaalse päringukäivitusplaani (nt madal hinnang võib põhjustada räsioperaatori jaoks ebapiisava mälumahu andmist, mis põhjustab päringule tempdb-le voolamise).

Olek

Microsoft on kinnitanud, et see on jaotises „Rakenduskoht“ loetletud Microsofti toodete korral esinev probleem.

Lahendus

See probleem on lahendatud järgmises SQL Server koondvärskenduses:

Märkus Selle paranduse jõustumiseks peate lubama päringu optimeerija kiirparandused jälituslipu (TF) 4199 või vastava andmebaasi ulatusega konfiguratsiooni või päringuvihje suvandi abil.

      

Teave SQL Server koondvärskenduste kohta.

Iga uus koondvärskendus SQL Server sisaldab kõiki kiirparandusi ja kõiki turbeparandusi, mis olid kaasatud eelmise koondvärskenduse. Vaadake uusimaid SQL Server koondvärskendusi.

Ajutine lahendus

Selle probleemi saab lahendada järgmise päringuvihje lisamisega:

USE HINT('FORCE_LEGACY_CARDINALITY_ESTIMATION')

Viited

Lisateave Microsofti tarkvaravärskenduste terminoloogia kohta.