|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Inscription : mai 2002 Messages : 6 ![]() |
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 :
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 |
||
|
|
00
|
|
|
#2 | ||
|
Invité de passage
![]() Inscription : mai 2002 Messages : 6 ![]() |
Bon, en fait, je viens de trouver la réponse dans la documentation de PostgreSQL :
Ca s'appelle donc un "index partiel" ou en anglais "partial index". Donc pour reprendre l'exemple précédent, la requête de création de l'index serait : Code :
La feuil |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com