107 votes

Comment utiliser l'index dans l'instruction select?

Disons que dans la table des employés, j'ai créé un index (idx_name) sur la emp_name de la table.

Dois-je spécifier explicitement le nom de l'index dans la clause select ou il sera automatiquement utilisé pour accélérer les requêtes.

S'il doit être spécifié dans la clause select, quelle est la syntaxe pour utiliser l'index dans la requête select ?

98voto

Jason Points 136

Si vous souhaitez tester l'index pour voir s'il fonctionne, voici la syntaxe :

 SELECT *
FROM Table WITH(INDEX(Index_Name))

L'instruction WITH forcera l'utilisation de l'index.

9voto

niktrs Points 4013

L'optimiseur jugera si l'utilisation de votre index rendra votre requête plus rapide, et si c'est le cas, il utilisera l'index.

Selon votre SGBDR, vous pouvez forcer l'utilisation d'un index, bien que cela ne soit pas recommandé à moins que vous ne sachiez ce que vous faites.

En général, vous devez indexer les colonnes que vous utilisez dans les jointures de table et les instructions where

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X