
Envoyé par
StringBuilder
Bonjour SQLPro, je détourne un peu le topic initial, pour me focaliser sur cette partie de votre réponse :
[...]
A ce moment, je suis tenté de créer l'index suivant :
personne (id, sexe) ou alors personne (sexe, id)
.
la remarque de Ibersek est très importante car si votre clef est CLUSTERED alors l'index sur sexe seul suffit, car par nature cet index comportera l'id.
Pour vous en convaincre :
1 2 3 4 5
| CREATE TABLE personne
(id int CONSTRAINT PK PRIMARY KEY CLUSTERED,
nom VARCHAR(32),
prenom VARCHAR(32),
sexe CHAR(1)) |
1 2 3
| INSERT INTO personne VALUES (1, 'toto', 'marcel', 'F');
INSERT INTO personne VALUES (2, 'titi', 'georges', 'F');
INSERT INTO personne VALUES (3, 'tata', 'cunéconde', 'M'); |
CREATE INDEX X ON personne (sexe);
1 2 3 4 5 6 7 8
| DBCC SHOW_STATISTICS ('personne', 'X');
[...]
All density Average Length Columns
------------- -------------- --------
0,5 1 sexe
0,3333333 5 sexe, id |
A +
Partager