Différences entre les index "normaux" et les index avec des colonnes inclu ses

Le
Gilles TOURREAU
Bonjour tout le monde !

Sous SQL Server on a la possibilité de créer des index avec des colonnes
incluses.
Soit un table ci-dessous :

MATABLE
Id
Col1
Col2
Col3


On souhaite optimiser la requête "SELECT Id, Col1, Col2 FROM MATABLE".

Quelle est la différence exactement entre un index qui serait crée avec
les colonnes (Id, Col1, Col2) et un index crée avec la colonne Id et
(Col1, Col2) qui sont des "colonnes incluses" Qu'elle est la solution
la plus performante pour executer la requête précédente ?

En vous remerciant par avance de vos lumières

Cordialement

--
Gilles TOURREAU
gilles.tourreau@pos.fr

S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Philippe TROTIN [MS]
Le #11854111
Bonjour,

Dans le cas de la requête précédente, sans aucune clause WHERE ou ORDER BY,
l'ajout d'un index n'arrangera rien !!!

Si Id est votre clé primaire, en fonction des éléments de jointure entre
table, WHERE ou ORDER BY, il est conseillé de créer un indexe regroupant
l'ensemble des colonnes nécessitant un tri ou un filtre. Vous pouvez sans
cela au besoin jouer avec les vues indexées (Cf. Aide en ligne de SQL
Server).

Cordialement
_______________________________

Philippe TROTIN
Microsoft Services France
_______________________________
"Gilles TOURREAU" news:
Bonjour tout le monde !

Sous SQL Server on a la possibilité de créer des index avec des colonnes
incluses.
Soit un table ci-dessous :

MATABLE
Id
Col1
Col2
Col3
...

On souhaite optimiser la requête "SELECT Id, Col1, Col2 FROM MATABLE".

Quelle est la différence exactement entre un index qui serait crée avec
les colonnes (Id, Col1, Col2) et un index crée avec la colonne Id et
(Col1, Col2) qui sont des "colonnes incluses"... Qu'elle est la solution
la plus performante pour executer la requête précédente ?

En vous remerciant par avance de vos lumières...

Cordialement

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr


Gilles TOURREAU
Le #11854081
Le Tue, 17 Jul 2007 20:32:11 +0200, Philippe TROTIN [MS]


Bonjour,

Dans le cas de la requête précédente, sans aucune clause WHERE ou ORDER
BY, l'ajout d'un index n'arrangera rien !!!

Si Id est votre clé primaire, en fonction des éléments de jointure entre
table, WHERE ou ORDER BY, il est conseillé de créer un indexe regroupant
l'ensemble des colonnes nécessitant un tri ou un filtre. Vous pouvez
sans cela au besoin jouer avec les vues indexées (Cf. Aide en ligne de
SQL Server).

Cordialement
_______________________________

Philippe TROTIN
Microsoft Services France
_______________________________
"Gilles TOURREAU" news:
Bonjour tout le monde !

Sous SQL Server on a la possibilité de créer des index avec des
colonnes incluses.
Soit un table ci-dessous :

MATABLE
Id
Col1
Col2
Col3
...

On souhaite optimiser la requête "SELECT Id, Col1, Col2 FROM MATABLE".

Quelle est la différence exactement entre un index qui serait crée avec
les colonnes (Id, Col1, Col2) et un index crée avec la colonne Id et
(Col1, Col2) qui sont des "colonnes incluses"... Qu'elle est la
solution la plus performante pour executer la requête précédente ?

En vous remerciant par avance de vos lumières...

Cordialement

-- Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr






Merci pour ces précisions, mais juste par curiosité quel est vraiment la
différence entre un index sur plusieurs colonnes et un index avec des
colonnes incluses ?

Cordialement

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr
Fr
Le #11854061
Bonjour,

Voici un lien qui vous intéréssera...je pense.

http://msdn2.microsoft.com/fr-fr/library/ms190806.aspx




"Gilles TOURREAU" news:
Le Tue, 17 Jul 2007 20:32:11 +0200, Philippe TROTIN [MS]


Bonjour,

Dans le cas de la requête précédente, sans aucune clause WHERE ou ORDER
BY, l'ajout d'un index n'arrangera rien !!!

Si Id est votre clé primaire, en fonction des éléments de jointure entre
table, WHERE ou ORDER BY, il est conseillé de créer un indexe regroupant
l'ensemble des colonnes nécessitant un tri ou un filtre. Vous pouvez
sans cela au besoin jouer avec les vues indexées (Cf. Aide en ligne de
SQL Server).

Cordialement
_______________________________

Philippe TROTIN
Microsoft Services France
_______________________________
"Gilles TOURREAU" news:
Bonjour tout le monde !

Sous SQL Server on a la possibilité de créer des index avec des
colonnes incluses.
Soit un table ci-dessous :

MATABLE
Id
Col1
Col2
Col3
...

On souhaite optimiser la requête "SELECT Id, Col1, Col2 FROM MATABLE".

Quelle est la différence exactement entre un index qui serait crée avec
les colonnes (Id, Col1, Col2) et un index crée avec la colonne Id et
(Col1, Col2) qui sont des "colonnes incluses"... Qu'elle est la
solution la plus performante pour executer la requête précédente ?

En vous remerciant par avance de vos lumières...

Cordialement

-- Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr






Merci pour ces précisions, mais juste par curiosité quel est vraiment la
différence entre un index sur plusieurs colonnes et un index avec des
colonnes incluses ?

Cordialement

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr


Publicité
Poster une réponse
Anonyme