KB3190762: Update zur Verbesserung der Diagnose für Abfrageausführungspläne, die Restprädikat-Pushdown in SQL Server 2016 beinhalten

Gilt für
SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Express - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2016 Web - duplicate (do not use)

Zusammenfassung

Einige Abfrageausführungspläne in Microsoft SQL Server 2016 enthalten ein Muster zum Auswerten eines Filters für einen Tabellen- oder Indexscan-/Bereichsvorgang. Einige Teile des Filter-Prädikats können mit einem Indexschlüssel übereinstimmen und daher zum Ausführen einer Indexsuche oder Einer Bereichsüberprüfung verwendet werden. Die restlichen Teile des Prädikats werden als Restwerte bezeichnet und müssen für jede Zeilenausgabe durch den Scan- oder Bereichsvorgang ausgewertet werden. Dies entspricht einem Filteroperator. Um jedoch die Leistung zu verbessern, können SQL Server einen solchen Filter an den Tabellenzugriffsoperator selbst pushen.

Obwohl dieser Ansatz die Leistung insgesamt verbessert, kann der Scan-Below-Filter unter einigen Bedingungen (z. B. bei einer ungenauen Kardinalitätsschätzung im Zusammenhang mit der Parameterempfindlichkeit) eine größere Anzahl von Zeilen verarbeiten als erwartet. Dieses Verhalten kann bei der Problembehandlung bei der Abfrageleistung ausgeblendet werden, wenn Sie einen tatsächlichen Ausführungsplan verwenden, da die Anzahl der zurückgegebenen Zeilen der Anzahl von Zeilen nach der Anwendung des Rest-Prädikats und nicht der tatsächlichen Anzahl von Zeilen entspricht, die aus einer Tabelle oder einem Index gescannt werden.

Informationen zum Update

Um Diagnose für das im Abschnitt "Symptome" beschriebene Szenario zu verbessern, führt SQL Server 2016 Service Pack 1 (SP1) das neue Showplan-XML-Attribut Estimated Rows Read ein. Dieses Attribut stellt die geschätzte Anzahl von Zeilen bereit, die vom Operator gelesen werden, bevor das Rest-Prädikat angewendet wird. Dieses Update ist eine Ergänzung zur KB-3107397.

Diese Funktionalität ist in Service Pack 1 für SQL Server 2016 enthalten.

Informationen zu SQL Server 2016-Builds

Jeder neue Build für SQL Server 2016 enthält alle Hotfixes und alle Sicherheitsfixes, die im vorherigen Build enthalten waren. Es wird empfohlen, den neuesten Build für SQL Server 2016 zu installieren.

Referenzmaterial

Informieren Sie sich über die Terminologie, die Microsoft zum Beschreiben von Softwareupdates verwendet.