Súhrn
Pridanie nového plánu vykonávania plánu EstimateRowsWithoutRowGoal DOTAZU na SQL Server 2017 Kumulatívna aktualizácia 3 (CU3) a Microsoft SQL Server 2016 Service Pack 2 (SP2).
Keď Optimalizácia dotazu odhadne náklady na plán vykonávania dotazu, zvyčajne sa predpokladá, že všetky kvalifikačné riadky zo všetkých zdrojov sa majú spracovať. Niektoré dotazy však spôsobujú, že Optimalizácia dotazu vyhľadáva plán, v ktorom sa rýchlejšie vráti menší počet riadkov. Môže sa to stať, ak dotaz používa hornú klauzulu , rýchlu number_rows pomôcku dotaz IN , klauzulu or existing alebo množinu ROWCOUNT {Number | @number_var} . V tomto prípade sa pri odhadovaní plánu dotazu používa pre optimalizáciu riadok cieľ. Ak sa použije plán cieľových riadkov, zníži sa odhadovaný počet riadkov v pláne vykonávania dotazu. Je to preto, lebo plán predpokladá, že bude potrebné spracovať menší počet riadkov, aby sa dosiahol cieľ riadka.
Poznámka: Odhad, ktorý sa vykonal pomocou cieľa riadka, je približný. Ak skutočné rozdelenie údajov nie je jednotné, môže byť menšie ako skutočný počet riadkov, ktoré sa majú spracovať. Preto by mohol vytvoriť neúčinný plán dotazu. Ako alternatívne riešenie tohto problému môžete použiť možnosť dotaz použiť pomôcku ("DISABLE_OPTIMIZER_ROWGOAL") alebo príznak sledovania 4138.
Ďalšie informácie nájdete v téme Aktualizácia uvádza, že v SQL Server 2016 sa uvádza argument pomôcka pomôcka HINT tip. Môže však byť náročné identifikovať v zložitých dotazoch, či sa použije cieľ riadka a koľko ovplyvňuje výber plánu.
Pomocou atribútu EstimateRowsWithoutRowGoal môžete porovnať výsledky s atribútmi atribútu EstimateRows a zistiť, koľko cieľových riadkov ovplyvní odhady nástroja na optimalizáciu dotazov.
Poznámka: Ak sa cieľ riadka nepoužije na konkrétneho operátora plánu dotazov, tento atribút nie je zahrnutý.
Ďalšie informácie
Táto aktualizácia je zahrnutá v nasledujúcej kumulatívnej aktualizácii pre SQL Server:
Každá nová Kumulatívna aktualizácia pre SQL Server obsahuje všetky rýchlych opráv a všetky opravy zabezpečenia, ktoré boli súčasťou predchádzajúcej kumulatívnej aktualizácie. Pozrite si najnovšie kumulatívne aktualizácie pre SQL Server:
Informácie o balíku Service Pack pre SQL Server
Táto aktualizácia je zavedená v týchto balíkoch Service Pack pre SQL Server:
Balí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í
Odkazy
Oboznámte sa s terminológiou, ktorú spoločnosť Microsoft používa na popis aktualizácií softvéru.