Freigeben über


Clustered Index Seek (Showplanoperator)

Aktualisiert: 12. Dezember 2006

Der Clustered Index Seek-Operator verwendet die Suchfunktionen der Indizes, um Zeilen aus einem gruppierten Index abzurufen. Die Argument-Spalte enthält den Namen des verwendeten gruppierten Indexes und das SEEK:()-Prädikat. Das Speichermodul verarbeitet mit diesem Index nur die Zeilen, die das SEEK:()-Prädikat erfüllen. Es kann auch ein WHERE:()-Prädikat einschließen, das das Speichermodul für alle Zeilen auswertet, die das SEEK:()-Prädikat erfüllen. Dies ist jedoch optional, und es werden keine Indizes für diesen Prozess verwendet.

Wenn die Argument-Spalte die ORDERED-Klausel enthält, hat der Abfrageprozessor ermittelt, dass die Zeilen in der Reihenfolge zurückgegeben werden müssen, in der sie vom gruppierten Index sortiert wurden. Wurde die ORDERED-Klausel nicht angegeben, durchsucht das Speichermodul den Index optimal (wobei die Ausgabe nicht unbedingt sortiert ist). Die Ausgabe in der ursprünglichen Reihenfolge kann weniger effizient sein als die unsortierte Ausgabe.

Wenn das LOOKUP-Schlüsselwort angezeigt wird, wird ein Bookmark Lookup ausgeführt. In SQL Server 2005 Service Pack 2 stellt der Operator Key Lookup die Bookmark Lookup-Funktionalität bereit.

Clustered Index Seek ist ein logischer und physikalischer Operator.

Clustered Index Seek-Operator (Symbol)Symbol im grafischen Ausführungsplan

Beispiele

Im folgenden Beispiel wird eine Zeile aus einer Tabelle gelöscht, die einen gruppierten Index aufweist. Die Ausgabe des Ausführungsplanes zeigt, dass der Abfrageoptimierer den Clustered Index Seek-Operator zum Abrufen der angegebenen Zeilen verwendet.

USE AdventureWorks;
GO
SET NOCOUNT ON;
GO
SET SHOWPLAN_ALL ON;
GO
SELECT Name
FROM Production.UnitMeasure
WHERE UnitMeasureCode BETWEEN 'Each' AND 'Inch';
GO
SET SHOWPLAN_ALL OFF;

Die Ausführungsplanausgabe des Clustered Index Seek-Operators ist im Folgenden dargestellt.

PhysicalOp 
-----------------------------------------------------------------------
Clustered Index Seek

Argument
-----------------------------------------------------------------------
OBJECT:([AdventureWorks].[Production].[UnitMeasure].[PK_UnitMeasure_UnitMeasureCode]), 
SEEK:([AdventureWorks].[Production].[UnitMeasure].[UnitMeasureCode] >= 
    CONVERT_IMPLICIT(nvarchar(4000),[@1],0) AND 
    [AdventureWorks].[Production].[UnitMeasure].[UnitMeasureCode] 
<= CONVERT_IMPLICIT(nvarchar(4000),[@2],0)) ORDERED FORWARD

Siehe auch

Aufgaben

Vorgehensweise: Anzeigen eines tatsächlichen Ausführungsplanes

Verweis

Clustered Index Scan (Showplanoperator)
Key Lookup (Showplanoperator)

Konzepte

Logische und physikalische Operatoren (Referenz)
Gruppierte Indexstrukturen
Anzeigen von Ausführungsplänen mithilfe der Showplan-SET-Optionen (Transact-SQL)

Hilfe und Informationen

Informationsquellen für SQL Server 2005

Änderungsverlauf

Version Verlauf

12. Dezember 2006

Neuer Inhalt:
  • Es wurde ein Satz über den Operator Key Lookup hinzugefügt.

17. Juli 2006

Neuer Inhalt:
  • Der Abschnitt mit den Beispielen wurde hinzugefügt.