KB4023419 – JAVÍTÁS: A UNION ALL és sorcélt használó lekérdezések lassabban futhatnak a SQL Server 2014-es és újabb verzióiban, összehasonlítva a SQL Server 2008 R2-vel

Hatókör
SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) SQL Server 2014 Service Pack 2 - duplicate (do not use) 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 2016 Service Pack 1

Tünetek

A Microsoft SQL Server 2014 vagy 2016 nézetek lekérdezésekor a végrehajtás sokkal hosszabb időt vehet igénybe, ha összehasonlítja a nézet végrehajtását az SQL Server 2008 R2-ben.

A UNION ALL kulcsot és egy sorcélértéket (például TOP N záradékot, FAST N vagy EXISTS predikátumot) használó lekérdezés végrehajtásakor lassabb futást tapasztalhat az SQL Server 2014-es és újabb verzióiban, ha összehasonlítja az SQL Server 2008 R2-vel.

Ok

Az SQL Server 2008 R2-ben a Query Optimizer módosítja a különböző részek sorrendjét a UNION ALL rendszerben, ha van sorcél, így a legolcsóbb alkatrész kerül előtérbe. Ez lehetővé teszi, hogy a lekérdezés végrehajtása hamarabb befejezhető legyen, ha az olcsóbb részek elegendő számú sort termelnek, de nem kell folytatnia a drágább alkatrészek végrehajtását. Ilyen átrendezésre nem kerül sor az SQL Server későbbi verzióiban.

Megoldás

Ezt a hibát az SQL Server következő összegző frissítésében javítottuk:

7. összegző frissítés az SQL Server 2016 RTM rendszerhez

4. összegző frissítés az SQL Server 2016 SP1-hez

6. összegző frissítés az SQL Server 2014 SP2-höz

Megjegyzés Ehhez a problémához engedélyezni kell a Query Optimisert.

A lekérdezésoptimalizálásról és a nyomkövetési jelzőkről az alábbi hivatkozásokon talál további információt:

SQL Server Query Optimizer TF 4199 gyorsjavítási modell

DBCC konzolparancsok és nyomkövetési jelzők

Az SQL Server összegző frissítéseinek ismertetése:

Az SQL Server minden új összegző frissítése tartalmazza az összes gyorsjavítást és minden biztonsági javítást, amely az előző kumulatív frissítésben szerepelt. Tekintse meg az SQL Server legújabb összegző frissítéseit:

Az SQL Server 2016 legújabb összegző frissítése

Az SQL Server 2014 legújabb összegző frissítése

Állapot

A Microsoft megerősítette, hogy ez egy olyan probléma a Microsoft-termékekben, amely az „Érintett szolgáltatás“ című szakaszban van felsorolva.

Hivatkozások

Ismerje meg a Microsoft szoftverfrissítésekkel kapcsolatos terminológiáját.