Zusammenfassung
Einige Abfrageausführungspläne in Microsoft SQL Server 2016 beinhalten ein Muster der Auswertung eines Filters bei einem Tabellen- oder Indexsuch-/Bereichsvorgang. Einige Teile des Filterprädikats können mit einem Indexschlüssel übereinstimmen und daher zum Ausführen einer Indexsuche oder eines Bereichsscans verwendet werden. Die verbleibenden Teile des Prädikats werden als residual bezeichnet und müssen für jede Zeile ausgewertet werden, die durch den Scan- oder Bereichsvorgang ausgegeben wird. Dies entspricht einem Filteroperator. Um jedoch die Leistung zu verbessern, kann SQL Server einen solchen Filter per Push an den Tabellenzugriffsoperator selbst übertragen.
Obwohl dieser Ansatz die Leistung insgesamt verbessert, verarbeitet der Scan-Below-Filter unter bestimmten Bedingungen (z. B. bei einer ungenauen Kardinalitätsschätzung im Zusammenhang mit der Parametersensitivität) möglicherweise eine größere Anzahl von Zeilen als erwartet. Dieses Verhalten kann während der Problembehandlung bei der Abfrageleistung ausgeblendet werden, wenn Sie einen tatsächlichen Ausführungsplan verwenden, da die Anzahl der zurückgegebenen Zeilen der Anzahl der Zeilen entspricht, nachdem das Residualprädikat angewendet wurde, und nicht der tatsächlichen Anzahl von Zeilen, die aus einer Tabelle oder einem Index gescannt werden.
Informationen zum Update
Um die Diagnose für das im Abschnitt "Symptome" beschriebene Szenario zu verbessern, führt SQL Server 2016 Service Pack 1 (SP1) ein neues Showplan-XML-Attribut ein, Estimated Rows Read. Dieses Attribut gibt die geschätzte Anzahl von Zeilen an, die vom Operator gelesen werden, bevor das Restprädikat angewendet wird. Dieses Update ist eine Ergänzung zu 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 Sicherheitsfixes, die im vorherigen Build enthalten waren. Wir empfehlen, den neuesten Build für SQL Server 2016 zu installieren.
Referenzmaterial
Informieren Sie sich über die Terminologie, die Microsoft zum Beschreiben von Softwareupdates verwendet.