Príznaky
Niektoré plány vykonávania dotazov na serveri Microsoft SQL Server zahŕňajú vzor vyhodnotenia filtra v hornej časti operácie kontroly alebo rozsahu indexu. Niektoré časti predikátu filtra sa môžu zhodujú s kľúčom indexu a preto sa môžu použiť na spustenie vyhľadávania indexu alebo kontroly rozsahu. Zostávajúce časti predikátu sa označujú ako "reziduálne" a musia sa vyhodnotiť pre každý výstup riadka pomocou operácie scan alebo Range. Toto by zodpovedalo operátorovi filtra. Na zlepšenie výkonu však môže SQL Server tlačiť takýto filter nadol na samotného operátora prístupu k tabuľke. Hoci tento prístup zlepšuje celkový výkon, za určitých podmienok (napríklad v prípade nepresného odhadu kardinálnosti, ktorý súvisí s citlivosťou parametra), filter pod kontrolou môže spracovať väčší počet riadkov, než sa očakáva. Pri používaní skutočného vykonávania plánu môže byť táto skutočnosť počas riešenia problémov s výkonom dotazu skrytá, pretože skutočný počet vrátených riadkov bude zodpovedať počtu riadkov po použití reziduálneho predikátu a nie skutočného počtu riadkov, ktoré sa naskenujú z tabuľky alebo indexu.
Riešenie
Ak chcete zlepšiť diagnostiku scenára popísaného v časti príznaky, SQL Server 2012 Service Pack 3 (SP3) a SQL Server 2014 SP2 zaviesť nový atribút XML Showplan, skutočné riadky prečítané. Tento atribút poskytuje informácie o tom, koľko riadkov prečítal operátor pred uplatnením reziduálneho predikátu. Táto funkcia bola päsťou zavedená v týchto balíkoch Service Pack pre SQL Server.
Ďalšie informácie o balíku SQL Server 2012 Service Pack 3 (SP3) nájdete v téme chyby, ktoré boli odstránené v službe SQL server 2012 Service Pack 3.
Balík Service Pack 2 pre SQL Server pre SQL server 2014 SQL Server 2016 Service Pack 1 (SP1) Informácie o balíkoch Service Pack pre SQL ServerBalíky Service Pack sú kumulatívne. Každý nový balík Service Pack obsahuje všetky opravy, ktoré sa nachádzajú v predchádzajúcich balíkoch Service Pack, spolu s novými opravami. Naším odporúčaním je použiť najnovší balík Service Pack a najnovšiu Kumulatívna aktualizácia pre daný balík Service Pack. Skôr než nainštalujete najnovší balík Service Pack, nemusíte nainštalovať predchádzajúci balík Service Pack. Na vyhľadanie ďalších informácií o najnovšom balíku Service Pack a najnovšej kumulatívnej aktualizácii použite tabuľku 1 v nasledujúcom článku.Ako zistiť úroveň verzie, vydania a aktualizácie SQL servera a jeho súčastí