bonjour a tous
Dans une table avec un champs date, j'ai cree un index sur les annees
La table
l'index sur l'annee
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 CREATE TABLE N_SESSION ( ID_SESSION INTEGER NOT NULL, ID_PROVI INTEGER, ID_LIEUDIT INTEGER, ID_BAGUEUR INTEGER, ACTIF BOOLEAN /* BOOLEAN = SMALLINT DEFAULT 0 NOT NULL CHECK (VALUE IN (0,1)) */, DATE_SESSION DATE NOT NULL, DATE_CREATION DATE DEFAULT current_date NOT NULL, ID_CREATEUR INTEGER DEFAULT 0 NOT NULL, ID_USER INTEGER DEFAULT 0 NOT NULL, DATE_MODIF TIMESTAMP DEFAULT current_timestamp NOT NULL );
Mais lorsque je fais une requete pour recuperer les annees de cette table, le plan n'utilise pas cet index, quelle betise je fais ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part CREATE DESCENDING INDEX IDX_N_SESSION_ANNEE ON N_SESSION COMPUTED BY (EXTRACT(YEAR FROM N_session.Date_session));
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT EXTRACT(YEAR FROM N_SESSION.DATE_SESSION) AS ANNEE FROM N_SESSION GROUP BY EXTRACT(YEAR FROM N_SESSION.DATE_SESSION) ORDER BY 1 DESC
merci
olivier
Partager