Tünetek
Tegyük fel, hogy illesztést vagy összesítést tartalmazó lekérdezést futtat egy olyan oszlopon, amely szerepel mind az egyoszlopos, mind a többoszlopos statisztikákban (és amelyben nem ez az oszlop a vezető oszlop). Ha alapértelmezett számosságbecslőt (CE) használ az SQL Server 2016-ban, előfordulhat, hogy az alábecsüli a különálló sorok számát. Ez nem optimális lekérdezés-végrehajtási tervhez vezet (például az alacsony becslés miatt a kivonat-operátor nem biztosít elegendő memóriát, ami miatt a lekérdezés a tempdb-re ömlik).
Á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.
Megoldás
Ezt a hibát az SQL Server következő összegző frissítésében javítottuk:
Megjegyzés A javítás érvénybe léptetéséhez engedélyeznie kell a Lekérdezésoptimalizálás gyorsjavításait a nyomkövetési jelző (TF) 4199 vagy annak megfelelő adatbázis-hatókörű konfiguráció vagy lekérdezési tipp használatával.
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:
Kerülő megoldás
A hiba elhárításához adjon hozzá egy alábbi leírást a lekérdezéshez:
USE HINT('FORCE_LEGACY_CARDINALITY_ESTIMATION')
Hivatkozások
Ismerje meg a Microsoft szoftverfrissítésekkel kapcsolatos terminológiáját.