KB4051361-Optimierer-Zeilen Ziel Informationen im Abfrageausführungsplan, der in SQL Server 2014, 2016 und 2017 hinzugefügt wurde

Zusammenfassung

Fügen Sie das neue EstimateRowsWithoutRowGoal -Abfrageausführungsplan-Attribut zu SQL Server 2017 Kumulatives Update 3 (CU3) und Microsoft SQL Server 2016 Service Pack 2 (SP2) hinzu.

Wenn der Abfrageoptimierer die Kosten für einen Abfrageausführungsplan schätzt, wird in der Regel davon ausgegangen, dass alle qualifizierenden Zeilen aus allen Quellen verarbeitet werden müssen. Einige Abfragen führen jedoch dazu, dass der Abfrageoptimierer nach einem Plan sucht, der eine geringere Anzahl von Zeilen schneller zurückgibt. Dies kann auftreten, wenn die Abfrage eine Top -Klausel, einen schnellen number_rows Abfragehinweis, eine in -oder EXISTS -Klausel oder eine Satz ROWCOUNT {Number | @number_var} -Anweisung verwendet. In diesem Fall verwendet der Optimierer ein Zeilen Ziel, wenn der Abfrageplan geschätzt wird. Wenn der Zeilen Zielplan angewendet wird, wird die geschätzte Anzahl von Zeilen im Abfrageausführungsplan reduziert. Der Grund dafür ist, dass bei dem Plan davon ausgegangen wird, dass eine kleinere Anzahl von Zeilen verarbeitet werden muss, um das Zeilen Ziel zu erreichen.

Hinweis Die Schätzung, die mithilfe des Zeilen Ziels erfolgt, ist Näherungswert. Wenn die tatsächliche Datenverteilung nicht einheitlich ist, ist Sie möglicherweise kleiner als die tatsächliche Anzahl der Zeilen, die verarbeitet werden müssen. Daher könnte es einen ineffizienten Abfrageplan erstellen. Um dieses Problem zu umgehen, können Sie die Abfrageoption use Hint ("DISABLE_OPTIMIZER_ROWGOAL") oder das Ablaufverfolgungsflag 4138 verwenden.

Weitere Informationen finden Sie unter Update führt die Verwendung des Hint-Abfrage-Hint-Arguments in SQL Server 2016 ein. Es kann jedoch schwierig sein, in komplexen Abfragen zu erkennen, ob ein Zeilen Ziel angewendet wird und wie viel es sich auf die Planauswahl auswirkt.

Mithilfe des EstimateRowsWithoutRowGoal -Attributs können Sie die Ergebnisse mit denen des EstimateRows -Attributs vergleichen, um zu sehen, wie viel Zeilen Ziel die Schätzungen des Abfrageoptimierers beeinflusst.

Hinweis Wenn das Zeilen Ziel nicht auf einen bestimmten Abfrageplan Operator angewendet wird, ist dieses Attribut nicht enthalten.

Weitere Informationen

Dieses Update ist im folgenden kumulativen Update für SQL Server enthalten:

       Kumulatives Update 3 für SQL Server 2017

Jedes neue kumulative Update für SQL Server enthält alle Hotfixes und alle Sicherheitsupdates, die im vorherigen kumulativen Update enthalten waren. Schauen Sie sich die neuesten kumulativen Updates für SQL Server an:

Neuestes Kumulatives Update für SQL Server 2017

Service Pack-Informationen für SQL Server

Dieses Update wird in den folgenden Service Packs für SQL Server eingeführt:

       Service Pack 2 für SQL Server 2016

       Service Pack 3 für SQL Server 2014

Service Packs sind kumulativ. Jedes neue Service Pack enthält neben neuen Updates alle Updates früherer Service Packs. Wir empfehlen, das neueste Service Pack und das neueste kumulative Update für dieses Service Pack zu verwenden. Sie müssen also keine älteren Versionen eines Service Packs installieren, bevor Sie das neueste Service Pack installieren. Verwenden Sie Tabelle 1 im folgenden Artikel, um weitere Informationen zu den neuesten Service Packs und dem neuesten kumulativen Update zu finden.

Ermitteln der Versions-, Editions-und Update Ebene von SQL Server und dessen Komponenten

Informationsquellen

Erfahren Sie mehr über die Terminologie, mit der Microsoft Softwareupdates beschreibt.

Benötigen Sie weitere Hilfe?

Ihre Office-Fähigkeiten erweitern
Schulungen erkunden
Neue Funktionen als Erster erhalten
Microsoft Insider beitreten

War diese Information hilfreich?

Vielen Dank für Ihr Feedback!

Vielen Dank für Ihr Feedback. Es klingt, als ob es hilfreich sein könnte, Sie mit einem unserer Office-Supportmitarbeiter zu verbinden.

×