Was ist der BMK-Operator in SQLServer?


8

Ich habe versucht, diese Frage zu beantworten , die besagt, dass die Klausel optional ist. Aber ich stecke mit einem Operator im Plan fest. Unten ist ein Screenshot des Ausführungsplans.

Geben Sie hier die Bildbeschreibung ein

Wie Sie sehen können, befindet sich im Abfrageplan ein BMK-Operator, aber kein Hinweis darauf, wie er berechnet wird.

Schritte, die ich bisher versucht habe:
Ich habe mit der Suche mit BMK1000 begonnen, aber es werden eine Reihe von Fragen mit demselben Operator angezeigt. Schließlich habe ich einen Thread gefunden, der besagt: "Das BMK, auf das Sie verweisen, ist der Speicherort innerhalb des Heaps, der aufbewahrt wird mit dem nicht gruppierten Index anstelle des Clusterschlüssels. ".. Aber nicht sicher, wie das mit mir zusammenhängt, da ich keine Indizes habe ..

FRAGEN:
Was ist der BMK-Operator und wie wird er berechnet? Alle Zeiger sind ebenfalls hilfreich

Hier ist SQLFiddle, um das Problem zu beheben

Antworten:


11

Es ist kein eigenständiger Betreiber . Es ist eine Ausgabespalte des Tabellenscanoperators auf dem Heap. Es ist das "Lesezeichen", das die physische Adresse der Zeile enthält (dies ist das gleiche Lesezeichen, auf das in der Phrase "Lesezeichensuche" Bezug genommen wird).

Dies wird entlang der Pipeline an den Aktualisierungsoperator übergeben, damit dieser weiß, welche Zeile aktualisiert werden soll.

In SQL Server 2016 können Sie die tatsächlichen Werte für diese Spalte mithilfe des query_trace_column_valueserweiterten Ereignisses anzeigen

Geben Sie hier die Bildbeschreibung ein

Das Einstecken dieser sys.fn_PhysLocFormatterzeigt diefile:page:slot

SELECT sys.fn_PhysLocFormatter(0xB002000001), 
       sys.fn_PhysLocFormatter(0xB0020000010001)

Kehrt zurück

+------------------+------------------+
| (No column name) | (No column name) |
+------------------+------------------+
| (1:688:0)        | (1:688:1)        |
+------------------+------------------+
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.