Créer un index avec ordre de parcours [Postgresql] - SQL/NoSQL - Programmation
Marsh Posté le 28-03-2006 à 22:53:29
Pour postgres, il ne me semble pas que tu ai besoin de spécifier un ordre de tri, car PG utilise par défaut un index de type B-arbre (optimisé pour le tri).
Ensuite (je suis pas sûr pour PG8) PG ne peut utiliser qu un seul index par requête, et c est dans la requête que tu doit lui spécifier d utiliser l index pour ordonner. voir syntaxe de select sur postgres.org.
Marsh Posté le 28-03-2006 à 22:55:03
par contre quand tu crée l index tu le crée sur plusieurs champs pour pouvoir ordonner plusieurs champs:
create index blaba on tatable(chamchamps1, chamchamps1, chamchamps3);
Marsh Posté le 29-03-2006 à 09:12:58
Je pensais que justement en indexant sur plusieurs colonnes on pouvait spécifier qu'on voulait un ordre de parcours ascendant ou descendant sur une de ces colonnes.
Marsh Posté le 29-03-2006 à 10:43:24
Je viens de lire que postgresql 8.1 peut utiliser plusieurs index dans 1 requête.
Crée autant d index que de colonnes à ordonner, teste avec analyse.
Marsh Posté le 28-03-2006 à 21:50:47
Bonjour,
J'utilise PostgreSQL 8.1 .
J'aimerais pouvoir créer un index sur une table en spécifiant l'ordre dans lequel les valeurs indexées doivent être triées.
Par exemple, supposons qu'on ait la table livres avec le champ titre_livre. J'aimerais pouvoir créer un index sur ce champ titre_livre de sorte que les titres des livres soient classés en ordre croissant.
J'ai essayé plusieurs trucs et je pense que la réponse doit être quelque chose du genre :
create index livrindex on livres(titre_livre) using ...
Et après le using il faudrait pouvoir spécifier le tri qu'on souhaite avoir.
Enfin, quelqu'un aurait une idée pour pouvoir réalisé cet index ?
Merci d'avance.
Sylvain.