Bonjour

Je m'interroge un petit peu ce soir sur les index.
Avec une table assez simple contenant des enregistrements concernant des voitures qui doivent être réparées :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
CREATE TABLE voiture (
id int auto increment,
immatriculation varchar(255),
repare int default 0);
La colonne "repare" permet d'indiquer les voitures qui ont été réparées ou non.
Imaginons que je suis un trés bon garagiste et que je répare 100 000 voitures en une journée au bout d'une année je vais me retrouver avec une liste impressionnante de voitures réparées.
Pour récupérer rapidement les voitures qui ne sont pas encore réparées, j'ajoute un index sur la colonne "repare".
Et c'est à ce moment que mon interrogation arrive : mon index ne va stocker que deux valeurs différentes (0 ou 1) avec un nombre d'enregistrement qui va être plus importante que l'autre (1) puisque à terme il y aura plus de voitures réparées. Mais ma requête ne va se faire que sur les voitures qui ne sont pas réparées, donc trés peu d'enregistrements. Donc mon index va grossir pour rien.
Existe t'il un moteur de base de données qui permet de définir les valeurs qui doivent être indexées pour éviter que celui ci ne deviennent énorme ?
Ou peut être est ce mon implémentation qui est mal faite ?
J'ai regardé du côté de Mysql, PostgreSQL, et je n'ai rien trouvé.
La feuil