it-swarm-eu.dev

Jaké problémy naznačuje Eager Spool

Aktuálně běží na serveru SQL Server 2008 R2

Pokouším se zvýšit výkon příkazu UPDATE. Všiml jsem si operace Eager Spool ve výstavním plánu. Moje porozumění operací zařazování je docela základní - během aktualizace vytvářejí dočasné úložiště pro tabulku.

Vím také, že i když zabraňují mnohem horším časům provádění, dychtivé cívky často svědčí o základních problémech se strukturou tabulky a/nebo dotazovými prohlášeními.

Moje otázka je docela jednoduchá: Když vidíte v plánu dotazů Eager Spool, na jaké problémy se nejprve díváte?

Budu analyzovat každý část našeho systému, abych zvýšil výkon - hledám pouze návod, jak začít.

28
Nick Vaccaro

Pokouším se zvýšit výkon příkazu UPDATE. Všiml jsem si operace Eager Spool ve vyskakovacím plánu.

Eager cívky mohou být přidány z různých důvodů, včetně pro Halloween Protection , nebo optimalizovat I/O při udržování neclusterovaných indexů .

Bez zobrazení (i obrázku) plánu provádění je těžké si být jisti, který z těchto scénářů by se mohl použít ve vašem konkrétním případě. Pokud jde o citlivost dat, zvažte nahrání anonymizované verze plánu pro analýzu pomocí SentryOne Plan Explorer .

Může se stát, že cívka Eager není tím, na co byste se měli soustředit; mnoho faktorů ovlivňuje skutečný výkon dotazů, které mění data. Pokud vaše snahy o ladění vycházejí z odhadovaných procentních nákladů zobrazovaných u operátora Eager Spool, zvažte, že tyto odhady jsou generovány pomocí modelu , který je není určen k tomu, aby odpovídal schopnostem vaší konkrétní konfigurace hardwaru.

18
Paul White 9

Někdy lze nedočkavé cívce zabránit, když jsou na místě další blokující operátoři - například druhy. Je tedy dobré zajistit, aby byla data již setříděna do doby, kdy dosáhne této fáze. (možná chybí indexy?)

Pokud je to pro ochranu Halloweenu, pak, jak říkali ostatní kluci, je toho málo, co můžete udělat.

2
John Alan