bonjour a tous

Dans une table avec un champs date, j'ai cree un index sur les annees

La table
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
);
l'index sur l'annee
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));
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
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