PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 Re : Général » PostgreSQL - Les index » 21/04/2014 20:04:16

Merci pour votre réponse.
J'ai juste une dernière petite question, imaginons que mon index se porte sur mon champ "id". Ma table se présente ainsi :
'id' - 'name'
1 - 'xavier'
2 - 'jeremy '
3 - 'adele'
4 - 'nathan'
5 - 'antoine'
6 - 'theo'
7 - 'daniel'

Si j'ajoute un index sur "name", visuellement, la recherche par "name" ne peut être améliorée, puis qu’aucune occurrence ne peut avoir le même id. Je voulais savoir si Postgres, créait ainsi un 2ème index en arrière plan, ainsi clusterisé par "name"... Sinon comment peut-il améliorer la recherche par "name" ?

Encore merci pour la réponse, je me prends un peu la tête mais je souhaiterai utiliser les index judicieusement. Mes précédentes recherches ne m'ont pas permis de répondre à cette interrogation.

#2 Général » PostgreSQL - Les index » 19/04/2014 13:17:01

nathanpas
Réponses : 3

Bonjour !

J'ai une question concernant les index.

J'utilise une bdd Postgresql que j'exploite via Doctrine. J'ai une table User de 4571 entrées contenant notamment les champs 'id', 'name'.
Le champ 'id' étant ma clé primaire, j'ai un index unique dessus.
Je fais une requête qui va chercher tous les users qui commence par la lettre 'b', 'j', 'l', etc... pour essayer de reproduire une requête lente...
Ma requête fait 18ms.
Je rajoute un index 'name_idx' sur mon champ 'name' et ma requête fait toujours 18ms.
Par contre si j'effectue un Cluster sur mon index 'name_idx', (quand je parcours ma table, les occurences s'affichent par ordre de "name"...), ma requête passe de 18ms à 12ms,
mais j'imagine que maintenant, si j'effectue une recherche par id, celle-çi en payera les frais...

Ma question est donc la suivante :
Dans ma situation, comment puis-je améliorer la recherche par nom sans détériorer la recherche par id ?
Si cela n'est pas possible, quel est l'intérêt d'avoir plusieurs index sur une table ?

Pied de page des forums

Propulsé par FluxBB