Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2992 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Tuning Postgresql - Tips

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Tuning Postgresql - Tips

n°583609
darklord
You're welcome
Posté le 05-12-2003 à 10:19:45  profilanswer
 

Yop,
 
On est en train de tuner une base postgresql pour améliorer les perfs (genre une query qui tourne en 120 sec en renvoyant 4 résultats, je fais un index sur une table pouf 0.1 sec pour la meme query :D)
 
J'aimerai avoir l'avis des experts pour déterminer quels outils on pourrait utiliser pour monitorer la base et déterminer les indexs à créer.
 
Postgres 7.3.4 avec un JBoss derrière (J2EE)
 
On va déjà utiliser le vacuum toute les nuits mais bon je suppose qu'il y a moyen de faire mieux ;)
 
:jap:


---------------
Just because you feel good does not make you right
mood
Publicité
Posté le 05-12-2003 à 10:19:45  profilanswer
 

n°583611
gizmo
Posté le 05-12-2003 à 10:21:22  profilanswer
 

si tu peux utiliser la 7.4, ils ont implémenté un auto vacuum qui a l'air pas mal sur papier (je ne peux malheureusement pas la tester sur OSX 10.2 :( )


Message édité par gizmo le 05-12-2003 à 10:21:46
n°583618
darklord
You're welcome
Posté le 05-12-2003 à 10:30:14  profilanswer
 

gizmo a écrit :

si tu peux utiliser la 7.4, ils ont implémenté un auto vacuum qui a l'air pas mal sur papier (je ne peux malheureusement pas la tester sur OSX 10.2 :( )


 
ce n'est pas prévu pour l'instant et je préfère rester en 7.3 pour ne pas introduire des problèmes potentiels en plus. A la base c'est plutot un outil qui scanne les requetes les plus fréquentes et sur base de ca on peut analyser le résultat nous meme.  
 
Je n'ai pas besoin d'un outil qui me sors les indexs à créer ou qui les crée pour moi ;)


---------------
Just because you feel good does not make you right
n°583632
Mara's dad
Yes I can !
Posté le 05-12-2003 à 10:42:59  profilanswer
 

Connais pas d'outils pour faire çà.
 
Dans mon appli PHP, l'execution des requêtes (Postgres et Oracle) est confiée à une classe.
La méthode runSql() calcule le temps d'exécution et log le tout dans une table mouchard.
 
Il suffit ensuite de regarder dans le mouchard les requêtes qui rament :D


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°583663
gizmo
Posté le 05-12-2003 à 11:11:10  profilanswer
 

sinon, tu peux toujours utiliser une fichier de log pour avoir toutes les commandes exécutées et faire des tris dessus.

n°583665
darklord
You're welcome
Posté le 05-12-2003 à 11:12:00  profilanswer
 

gizmo a écrit :

sinon, tu peux toujours utiliser une fichier de log pour avoir toutes les commandes exécutées et faire des tris dessus.


 
oui c'est ce que je m'appretai à faire ;)


---------------
Just because you feel good does not make you right
n°583763
drasche
Posté le 05-12-2003 à 13:40:27  profilanswer
 

Mara's dad a écrit :

Connais pas d'outils pour faire çà.
 
Dans mon appli PHP, l'execution des requêtes (Postgres et Oracle) est confiée à une classe.
La méthode runSql() calcule le temps d'exécution et log le tout dans une table mouchard.
 
Il suffit ensuite de regarder dans le mouchard les requêtes qui rament :D


il n'y aura pas grand chose à modifier dans ma classe pour faire ça :)
 
sinon mon approche est de déterminer quelles sont les requêtes les plus souvent utilisées, de voir si je peux formuler les requêtes autrement pour améliorer les perfs, sinon ajouter bêtement une clé comme dit DarkLord en exemple.
 
Mais bon, une clé en plus peut prendre plus ou moins de place en fonction du champ :/ (je dis ça parce que j'ai dû me résoudre à poser une clé sur un champ varchar dans une base à moi, 1.2 millions de rows, parce  qu'il est quasi toujours dans la condition de recherche, mais le gain est là: 4x plus rapide)


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°583782
darklord
You're welcome
Posté le 05-12-2003 à 14:00:17  profilanswer
 

est ce dangereux d'ajouter trop d'indexes?


---------------
Just because you feel good does not make you right
n°583794
gizmo
Posté le 05-12-2003 à 14:15:58  profilanswer
 

bah c'est comme pour tout, trop de ... tue le ... [:spamafote]
 
D'une part, comme l'a signalé Drasche, ca peut prendre une place supplémentaire considérable, de l'autre, si tu mets des indexes dans tous les sens, le SGDB ne va plus savoir faire des organisation efficaces ou déterminer lequel prendre pour faire une requète.

n°583798
drasche
Posté le 05-12-2003 à 14:20:24  profilanswer
 

le terme dangereux ne me paraît pas approprié, disons plutôt "lourd", pour rejoindre les arguments de Gizmo ;)
 
Tu peux sans aucun problème avoir des indexes qui prennent plus de place que la table elle-même (ok c'est bourrin :D). Reste à voir si le SGBD va apprécier, et si c'est pertinent. Perso je l'ai fait (par souci de recherche et d'expérimentation hein, par pour de la prod ;)) sur une table qui n'existe que pour la consultation, on n'ajoute jamais rien dedans (disons que c'est un dictionnaire de données qui vient du client et qui m'est très utile quand je cherche de l'info business)


Message édité par drasche le 05-12-2003 à 14:20:54

---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Tuning Postgresql - Tips

 

Sujets relatifs
[Postgresql] Transaction : équivalent à @@error en sql server ?[PostgreSQL] phpPgAdmin, probleme de creation de table o_O
problème de création de fonction avec postgresql 7.3.4postgresql : afficher toutes les tables, je ne trouve pas dans la doc
différence entre postgresql et mysql [résolu merci]duplication bidirectionnelle postgresql et mysql
affichage des infos d'une table postgresql en passant par PHPmysql ou postgresql ??
PHP & postgresql[postgresql] [resolu] Probleme de language SQL
Plus de sujets relatifs à : Tuning Postgresql - Tips


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR