Bonjour tout le monde,
J'ai cette requête
basé sur la table
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT id,val,creation_date FROM T_TEST WHERE val = '0'
Et j'ai créé les quatres index suivants :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 CREATE TABLE dbo.T_TEST ( id int identity(1,1), val varchar(10), creation_date datetime )
Parmi ces quatre index l'optimiseur a choisi IXNC_val_INCLUDE_id_creationdate lors de l'exécution de la requête.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 CREATE INDEX IXNC_val_id_creationdate ON T_TEST (val,id,creation_date) CREATE INDEX IXNC_val_creationdate_id ON T_TEST (val,creation_date,id) CREATE INDEX IXNC_val_INCLUDE_id_creationdate ON T_TEST (val) INCLUDE (id,creation_date) CREATE INDEX IXNC_val_INCLUDE_creationdate_id ON T_TEST (val) INCLUDE (creation_date,id)
L'analyse des statistiques ne me permet pas d'expliquer le choix l'optimiseur.
Voici un écran des statistiques
Avez-vous une idée sur ce choix ?
Merci de m'éclairer .
Partager