Udostępnij za pośrednictwem


Indeks klastrowany zwrócić Showplan Operator

Clustered Index Seek Operator wykorzystano poszukujących możliwości indeksy, aby pobrać wiersze z indeks klastrowany. Argument Kolumna zawiera nazwę indeks klastrowany używany i SEEK:() predykat.Aparat magazynu używa indeksu, aby przetwarzać tylko wiersze spełniające to SEEK:() predykat.Można również uwzględnić WHERE:() predykat, gdy aparat magazynu ocenia przeciwko wszystkie wiersze, które spełniają SEEK:() predykat, ale jest opcjonalny i nie używa indeksów, aby zakończyć ten proces.

Jeśli Argument Kolumna zawiera ZAMÓWIONE klauzula, procesor kwerend ustalił, że wiersze muszą zostać zwrócone w kolejności, w jakiej sortowane ma indeks klastrowany je.Jeśli nie występuje klauzula ZAMÓWIONE, aparat magazynu wyszukuje indeks w optymalny sposób, bez konieczności sortowania danych wyjściowych.Może być mniej skuteczne niż wytwarza nonsorted umożliwiające wyjście zachować jego zamawiania.

Gdy pojawi się słowo kluczowe wyszukiwania, następnie wyszukiwania zakładki jest wykonywana.W SQL Server 2008, Key Lookup operator zapewnia funkcje wyszukiwania zakładki.

Clustered Index Seek jest operator logicznym i fizycznym.

Ikona operatora przeszukiwania indeksu klastrowanegoGraficzne wykonanie planu ikony

Przykłady

Poniższy przykład usuwa wiersz z tabela, która ma indeks klastrowany.Wyjście plan wykonania pokazuje, że optymalizator kwerendy używa Clustered Index Seek operator do pobierania określonych wierszy.

USE AdventureWorks2008R2;
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;

Wykonanie planu produkcji Clustered Index Seek operator pojawia się poniżej.

PhysicalOp

-----------------------------------------------------------------------

Clustered Index Seek

Argument

-----------------------------------------------------------------------

OBJECT:([AdventureWorks2008R2].[Production].[UnitMeasure].[PK_UnitMeasure_UnitMeasureCode]),

SEEK:([AdventureWorks2008R2].[Production].[UnitMeasure].[UnitMeasureCode] >=

CONVERT_IMPLICIT(nvarchar(4000),[@1],0) AND

[AdventureWorks2008R2].[Production].[UnitMeasure].[UnitMeasureCode]

<= CONVERT_IMPLICIT(nvarchar(4000),[@2],0)) ORDERED FORWARD