Opérateur Showplan Clustered Index Seek

Mis à jour : 12 décembre 2006

L'opérateur Clustered Index Seek utilise la fonction recherche des index pour extraire des lignes d'un index cluster. La colonne Argument contient le nom de l'index cluster utilisé et le prédicat SEEK:() . Le moteur de stockage utilise l'index pour ne traiter que les lignes répondant à ce prédicat SEEK:() . Il peut également inclure le prédicat WHERE:() dans lequel le moteur de stockage évalue par rapport à toutes les lignes répondant au prédicat SEEK:(), mais ceci est facultatif et ne fait pas appel aux index pour exécuter ce processus.

Si la colonne Argument contient la clause ORDERED, le processeur de requêtes a déterminé que les lignes doivent être retournées dans l'ordre dans lequel l'index cluster les a triées. Si la clause ORDERED n'y figure pas, le moteur de stockage effectue la recherche dans l'index de façon optimale, sans nécessairement trier la sortie. Autoriser la sortie à conserver son classement peut s'avérer moins efficace que la production d'une sortie non triée.

Lorsque le mot clé LOOKUP apparaît, une recherche de signet est exécutée. Dans SQL Server 2005 Service Pack 2, l'opérateur Key Lookup fournit la fonctionnalité de recherche de signet.

Clustered Index Seek est un opérateur logique et physique.

Icône d'opérateur de recherche d'index clusterIcône du plan d'exécution graphique

Exemples

L'exemple suivant supprime une ligne d'une table ayant un index cluster. La sortie du plan d'exécution indique que l'optimiseur de requête utilise l'opérateur Clustered Index Seek pour extraire les lignes spécifiées.

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;

La sortie du plan d'exécution de l'opérateur Clustered Index Seek s'affiche ci-dessous.

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

Voir aussi

Tâches

Procédure : afficher un plan d'exécution réel

Référence

Opérateur Showplan Clustered Index Scan
Opérateur Key Lookup Showplan

Concepts

Référence des opérateurs physiques et logiques
Structures des index cluster
Affichage des plans d'exécution à l'aide des options Showplan SET (Transact-SQL)

Aide et Informations

Assistance sur SQL Server 2005

Historique des modifications

Version Historique

12 décembre 2006

Nouveau contenu :
  • Ajout d'une phrase sur l'opérateur Key Lookup.

17 juillet 2006

Nouveau contenu :
  • Ajout de la section Exemples.