Problème d'index partiel sur PostgreSQL : erreur 'WHERE condition not used in index'
-
la_scriptkid
- Messages : 38
- Inscription : dim. mai 25, 2025 7:24 pm
Problème d'index partiel sur PostgreSQL : erreur 'WHERE condition not used in index'
Help ! Je crée un index partiel avec CREATE INDEX idx_actif ON clients(email) WHERE statut='actif' mais le planner ne l'utilise jamais. EXPLAIN montre un seq scan... Version PostgreSQL 14.7.
Re: Problème d'index partiel sur PostgreSQL : erreur 'WHERE condition not used in index'
As-tu bien analysé la table après création de l'index ? Il faut faire un ANALYZE pour que les stats soient à jour.
Ex-Windows, jamais regrette le switch
-
la_scriptkid
- Messages : 38
- Inscription : dim. mai 25, 2025 7:24 pm
Re: Problème d'index partiel sur PostgreSQL : erreur 'WHERE condition not used in index'
Oui, fait, et même un VACUUM ANALYZE. Le problème persiste. J'ai seulement 500K lignes, dont 10% de 'actif'.
-
antoine1974
- Messages : 27
- Inscription : mar. avr. 30, 2024 7:25 pm
Re: Problème d'index partiel sur PostgreSQL : erreur 'WHERE condition not used in index'
C'est probablement un seuil de cost estimation. Essaye de forcer avec SET enable_seqscan=OFF pour tester. Et vérifie que ta condition WHERE est EXACTEMENT la même que dans l'index (sensible à la casse !).
Ryzen 7 5800X + RTX 3070, full custom loop
-
la_scriptkid
- Messages : 38
- Inscription : dim. mai 25, 2025 7:24 pm
Re: Problème d'index partiel sur PostgreSQL : erreur 'WHERE condition not used in index'
BINGO ! J'avais un WHERE STATUT='actif' dans ma requête alors que l'index était sur statut='actif'. PostgreSQL est case-sensitive sur les noms de colonnes dans ce cas. Merci !