Wird derzeit auf SQL Server 2008 R2 ausgeführt
Ich versuche, die Leistung einer UPDATE-Anweisung zu erhöhen. Ich stelle fest, dass im Showplan eine Eager Spool-Operation auftaucht. Mein Verständnis der Spool-Operationen ist ziemlich grundlegend - sie erstellen während der Aktualisierung einen temporären Speicher für die Tabelle.
Ich weiß auch, dass eifrige Spools, obwohl sie wesentlich schlechtere Ausführungszeiten verhindern, häufig auf zugrunde liegende Probleme mit der Tabellenstruktur und / oder Abfrageanweisungen hinweisen.
Meine Frage ist ziemlich einfach: Wenn Sie in Ihrem Abfrageplan einen Eager-Spool sehen, welche Probleme suchen Sie zuerst?
Ich werde jeden Teil unseres Systems analysieren , um die Leistung zu steigern. Ich suche nur nach Anleitungen, wo ich anfangen soll.
quelle
UPDATE
wenn die Tabelle über einen selbstreferenzierenden Fremdschlüssel verfügt oder auf UDFs zugreift, die DatenzugriffAntworten:
Eager Spools können aus verschiedenen Gründen hinzugefügt werden, beispielsweise zum Schutz vor Halloween oder zur Optimierung der E / A bei der Verwaltung von nicht gruppierten Indizes .
Ohne den Ausführungsplan (auch nur ein Bild davon) zu sehen, ist es schwierig, sicher zu sein, welches dieser Szenarien in Ihrem speziellen Fall zutreffen könnte. Wenn die Vertraulichkeit der Daten ein Problem darstellt, können Sie eine anonymisierte Version des Plans zur Analyse mit SentryOne Plan Explorer hochladen .
Es kann durchaus sein, dass die Eager Spool nicht das ist, worauf Sie sich konzentrieren sollten. Viele Faktoren beeinflussen die tatsächliche Leistung von Abfragen, die Daten ändern. Wenn Sie Ihre Optimierungsbemühungen auf den geschätzten prozentualen Kosten für den Eager Spool-Operator basieren, berücksichtigen Sie bitte, dass diese Schätzungen unter Verwendung eines Modells erstellt werden , das nicht den Funktionen Ihrer bestimmten Hardwarekonfiguration entspricht.
quelle
Manchmal kann die eifrige Spule vermieden werden, wenn andere blockierende Operatoren vorhanden sind, zum Beispiel. Es ist daher eine gute Idee, sicherzustellen, dass die Daten bereits bis zu diesem Zeitpunkt sortiert sind. (fehlende Indizes vielleicht?)
Wenn es für den Halloween-Schutz da ist, dann können Sie, wie die anderen Jungs gesagt haben, wenig tun.
quelle