Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

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

3 réponses
Avatar
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

3 réponses

Avatar
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" a écrit dans le message de
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


Avatar
Gilles TOURREAU
Le Tue, 17 Jul 2007 20:32:11 +0200, Philippe TROTIN [MS]
a écrit:


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" a écrit dans le message de
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
Avatar
Fr
Bonjour,

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

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




"Gilles TOURREAU" wrote in message
news:
Le Tue, 17 Jul 2007 20:32:11 +0200, Philippe TROTIN [MS]
a écrit:


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" a écrit dans le message de
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