Sümptomid
Kui esitate päringu vaate kohta rakenduses Microsoft SQL Server 2014 või 2016, võib selle lõpuleviimiseks kuluda palju rohkem aega, kui võrdlete seda käivitamisega versioonis SQL Server 2008 R2.
Kui käivitate päringu, mis kasutab klauslit UNION ALL ja reasihtmärki (nt PREdikaat TOP N, FAST N või EXISTS), võite märgata, et SQL Server 2014 või uuemates versioonides töötab päring aeglasemalt, kui võrdlete seda versiooniga SQL Server 2008 R2.
Põhjus
Versioonis SQL Server 2008 R2 muudab päringu optimeerija reaeesmärgi olemasolul erinevate osade järjestust jaotises UNION ALL, nii et kõige odavam osa läheb esimeseks. See võimaldab päringul lõpetada täitmise varem, kui odavamad osad toodavad nõutavat arvu ridu, jätkamata kallimate osade käivitamist. Sellist ümberjärjestamist ei toimu SQL Server uuemates versioonides.
Lahendus
See probleem on lahendatud järgmises SQL Server koondvärskenduses:
SQL Server 2016 RTM koondvärskendus 7
SQL Server 2016 SP1 koondvärskendus 4
SQL Server 2014 SP2 koondvärskendus 6
Märkus Selle probleemi jaoks peab olema lubatud päringuoptija.
Päringu optimeerija ja jälituslippude kohta leiate lisateavet järgmistest linkidest.
SQL Server Query Optimizer hotfix TF 4199 hooldusmudel
DBCC konsooli käsud ja jälituse lipud
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.
Uusim koondvärskendus SQL Server 2016 jaoks
Uusim koondvärskendus SQL Server 2014 jaoks
Olek
Microsoft on kinnitanud, et see on jaotises „Rakenduskoht“ loetletud Microsofti toodete korral esinev probleem.
Viited
Lisateave Microsofti tarkvaravärskenduste terminoloogia kohta.