|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 |
|
Membre confirmé
![]() Inscription : juillet 2006 Messages : 497 ![]() |
Bonjour,
En fait, j'ai effectué une migration de base de données de MySQL vers PostGreSQL pour une application PHP. Avec MySQL, les pages s'affichaient rapidement et depuis que je suis passé sur PG, le temps d'affichage est prohibitif. Pourriez-vous me dire pourquoi ? Existe-t-il des solutions pour pallier à ce problème ? Merci par avance.
__________________
Je n'ai pas participé à de nombreuses courses de spermatozoïdes, mais j'ai donné de nombreux départs... |
|
|
00
|
|
|
#2 |
|
Membre chevronné
![]() Inscription : octobre 2003 Messages : 668 ![]() |
hello,
les symptomes sont un peu vagues Vérifie que tu as tes index, sinon, je vois pas trop ce qui pourrait être aussi net sur les temps
__________________
Two beer or not two beer. (Shakesbeer) Question technique par MP => poubelle! |
|
|
00
|
|
|
#3 | |
|
Membre confirmé
![]() Inscription : juillet 2006 Messages : 497 ![]() |
Il faut nécessairement des index ?
Citation:
__________________
Je n'ai pas participé à de nombreuses courses de spermatozoïdes, mais j'ai donné de nombreux départs... |
|
|
|
00
|
|
|
#4 |
|
Membre confirmé
![]() Inscription : juillet 2006 Messages : 497 ![]() |
Ben je viens de mettre un index sur chaque table et tout reste inchangé (temps d'affichage très long)
__________________
Je n'ai pas participé à de nombreuses courses de spermatozoïdes, mais j'ai donné de nombreux départs... |
|
|
00
|
|
|
#5 | |
|
Membre chevronné
![]() Inscription : octobre 2003 Messages : 668 ![]() |
Citation:
Ca dépend aussi du volume de tes tables, les index vont pas changer grand chose sur une table de 150 lignes. Et puis surtout, il faut qu'ils soient sur les bonnes colonnes!! Mais comme je disais, les symtomes sont vagues Localise quelles requetes te ralentissent, regarde ce qu'il se passe (cf EXPLAIN) et essaye de positionner/modifier les index si besoin est. Et si ca vient pas de tes requetes, regarde ailleurs (genre un truc dans le code, je ne sais pas).
__________________
Two beer or not two beer. (Shakesbeer) Question technique par MP => poubelle! |
|
|
|
00
|
|
|
#6 |
|
Membre confirmé
![]() Inscription : juillet 2006 Messages : 497 ![]() |
Ben j'ai des tables qui contiennent 500 000 enr. et j'ai placé mes index sur les clés primaires.
Pourrais-tu donner un peu plus d'explications sur EXPLAIN, merci. Il existe aussi VACUUM je crois mais j'ai pas très bien compris.
__________________
Je n'ai pas participé à de nombreuses courses de spermatozoïdes, mais j'ai donné de nombreux départs... |
|
|
00
|
|
|
#7 |
|
Membre chevronné
![]() Inscription : octobre 2003 Messages : 668 ![]() |
500 000, c'est pas très gros comme volumétrie, mais les index sont quand même nécessaires.
Pour expliquer rapidement, le explain donne le plan d'exécution de ta requête, ce que le moteur va effectuer comme opérations. cd EXPLAIN (Si tu as des question plus précises, hésites pas ) Le VACUUM sert à libérer les tuples supprimés/MAJ (tout comme lorsque tu supprome un fichier, il n'est pas physiquement supprimé). Et le VACCUM ANALYSE permet de recalculer les statistiques après les changement de sorte que l'optimiseur soit au plus près de la réalité et qu'il fasse les bons choix d'optimisations.
__________________
Two beer or not two beer. (Shakesbeer) Question technique par MP => poubelle! |
|
|
00
|
|
|
#8 | ||
|
Membre confirmé
![]() Inscription : juillet 2006 Messages : 497 ![]() |
J'ai fait EXPLAIN de ma requête et j'ai obtenu ça :
Code :
__________________
Je n'ai pas participé à de nombreuses courses de spermatozoïdes, mais j'ai donné de nombreux départs... |
||
|
|
00
|
|
|
#9 | ||||||
|
Membre chevronné
![]() Inscription : octobre 2003 Messages : 668 ![]() |
Code :
Code :
Code :
Si tu veux un peu plus d'info, donnne les renseignements nécessaires : opérations create table, jeu d'essais, et requetes existantes ++
__________________
Two beer or not two beer. (Shakesbeer) Question technique par MP => poubelle! |
||||||
|
|
00
|
|
|
#10 |
|
Membre chevronné
![]() Inscription : février 2003 Messages : 643 ![]() |
autre question..le serveur mysql et postgresql sont sur une seule et même machine?
|
|
|
00
|
|
|
#11 | |
|
Membre confirmé
![]() Inscription : juillet 2006 Messages : 497 ![]() |
Citation:
__________________
Je n'ai pas participé à de nombreuses courses de spermatozoïdes, mais j'ai donné de nombreux départs... |
|
|
|
00
|
|
|
#12 |
|
Membre chevronné
![]() Inscription : février 2003 Messages : 643 ![]() |
ouais, et bien voir à bien positionner les index comme dit Spoutnik....désolé peut rien dire de plus.
à moins que tu n'aies pas eu de chance et que le serveur rame et est utilisé à fond depuis que tu es passé sous postgresql, je ne vois pas de quoi ça pourrait venir, problème réseau aussi? |
|
|
00
|
|
|
#13 | |||||||||
|
Membre confirmé
![]() Inscription : juillet 2006 Messages : 497 ![]() |
Citation:
Code :
Table t_planif : Code :
Code :
Code :
__________________
Je n'ai pas participé à de nombreuses courses de spermatozoïdes, mais j'ai donné de nombreux départs... |
|||||||||
|
|
00
|
|
|
#14 |
|
Membre chevronné
![]() Inscription : février 2003 Messages : 643 ![]() |
à première vue, je ferai un index sur T_planif.id_org
|
|
|
00
|
|
|
#15 |
|
Membre confirmé
![]() Inscription : juillet 2006 Messages : 497 ![]() |
On peut mettre plusieurs index sur une même table ?
__________________
Je n'ai pas participé à de nombreuses courses de spermatozoïdes, mais j'ai donné de nombreux départs... |
|
|
00
|
|
|
#16 | |
|
Membre chevronné
![]() Inscription : février 2003 Messages : 643 ![]() |
Citation:
EDIT : je ne sais pas si un index sur une colonne date apporte quelquechose, ainsi que sur les clés étrangères....avis aux professionnels du SQL |
|
|
|
00
|
|
|
#17 | ||
|
Membre chevronné
![]() Inscription : octobre 2003 Messages : 668 ![]() |
Citation:
Tu peux faire des index sur 1 à n colonnes, et/ou utiliser des expressions/functions (par ex des reg ex, etc ...) Citation:
__________________
Two beer or not two beer. (Shakesbeer) Question technique par MP => poubelle! |
||
|
|
00
|
|
|
#18 |
|
Membre confirmé
![]() Inscription : juillet 2006 Messages : 497 ![]() |
Bien joué gerald2545 ! Le temps d'affichage est quelque peu plus rapide avec un index sur id_org de T_planif!
Malheureusement l'affichage de la page reste prohibitif... J'ai oublié de te dire que ce n'est pas la seule requête que j'effectue au lancement de la page, mais il y en au moins 6 et je ne veux pas te faire ch*** avec tout ça...
__________________
Je n'ai pas participé à de nombreuses courses de spermatozoïdes, mais j'ai donné de nombreux départs... |
|
|
00
|
|
|
#19 | |
|
Membre confirmé
![]() Inscription : juillet 2006 Messages : 497 ![]() |
Citation:
__________________
Je n'ai pas participé à de nombreuses courses de spermatozoïdes, mais j'ai donné de nombreux départs... |
|
|
|
00
|
|
|
#20 |
|
Membre chevronné
![]() Inscription : février 2003 Messages : 643 ![]() |
en fait, il faut essayer de positionner les index sur les colonnes contenant du texte qui sont utilisées dans ta clause WHERE, surtout pour les colonnes text sur lesquelles des recherche de type LIKE sont effectuées...enfin c'est mon avis de façon plus ou moins intuitive
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com