Összegzés
Adja hozzá az új EstimateRowsWithoutRowGoal lekérdezésvégrehajtási terv attribútumot az SQL Server 2017 3. összegző frissítéséhez (CU3) és a Microsoft SQL Server 2016 Service Pack 2 (SP2) csomaghoz.
Amikor a Query Optimizer megbecsüli egy lekérdezés-végrehajtási terv költségét, általában azt feltételezi, hogy az összes forrásból származó összes minősítő sort fel kell dolgozni. Egyes lekérdezések azonban arra késztetik a Query Optimizert, hogy olyan tervet keressen, amely kevesebb sort ad vissza gyorsabban. Ez akkor fordulhat elő, ha a lekérdezés TOP záradékot, FAST number_rows lekérdezési tippet, IN vagy EXISTS záradékot, illetve SET ROWCOUNT { szám | @number\_var } utasítást használ. Ebben az esetben az optimalizáló sorcélt használ a lekérdezési terv becslésekor. A sorcél-terv alkalmazása esetén csökken a lekérdezés-végrehajtási terv sorainak becsült száma. Ennek az oka az, hogy a terv azt feltételezi, hogy a sorcél eléréséhez kevesebb sort kell feldolgozni.
Megjegyzés A sorcél használatával készült becslés közelítőleges. Ha a tényleges adateloszlás nem egyenletes, előfordulhat, hogy kevesebb a feldolgozandó sorok tényleges számánál. Ezért a lekérdezésterv nem hatékony eredményt eredményezhet. Kerülő megoldásként használhatja a USE HINT ('DISABLE_OPTIMIZER_ROWGOAL') lekérdezési lehetőséget vagy a 4138-as jelölőt.
További információ: A frissítés bevezetése a USE HINT lekérdezési tippargumentumot az SQL Server 2016-ban. Bonyolult lekérdezésekben azonban nem könnyű megállapítani, hogy egy sorcél alkalmazva van-e, és hogy ez mennyire befolyásolja a terv választását.
A EstimateRowsWithoutRowGoal attribútum használatával összehasonlíthatja az eredményeket a EstimateRows attribútum eredményeivel, így megállapíthatja, hogy a sorcélok mennyiben befolyásolják a Lekérdezésoptimalizáló becsléseit.
Megjegyzés Ha a sorcél nincs alkalmazva a lekérdezésterv egy adott operátorára, ez az attribútum nem szerepel a listában.
További információ
Ezt a frissítést az SQL Server következő összegző frissítése tartalmazza:
3. összegző frissítés az SQL Server 2017-hez
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 2017 legújabb összegző frissítése
Az SQL Server szervizcsomagjával kapcsolatos információk
Ez a frissítés az SQL Server következő szervizcsomagjaiban jelent meg:
Service Pack 2 for SQL Server 2016
Service Pack 3 az SQL Server 2014-hez
Tudnivalók az SQL Server szervizcsomagjairól:
A szervizcsomagok kumulatívak. Minden új szervizcsomag tartalmazza az előző szervizcsomagokban található összes javítást, az esetleges új javításokkal együtt. Javasoljuk, hogy telepítse a legújabb szervizcsomagot, valamint az adott szervizcsomag legújabb összegző frissítését. A legújabb szervizcsomag telepítése előtt nem kell telepítenie egy korábbi szervizcsomagot. A legújabb szervizcsomaggal és a legújabb kumulatív frissítéssel kapcsolatos további információkért olvassa el a következő cikk 1. táblázatát.
Az SQL Server és összetevői verziójának, kiadásának és frissítési szintjének meghatározása
Hivatkozások
Ismerje meg a Microsoft szoftverfrissítésekkel kapcsolatos terminológiáját.