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.
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 |
|
17. Juli 2006 |
|