|
Voir le sujet précédent :: Voir le sujet suivant
|
| Auteur |
Message |
| |
|
pierre_jean WRInaute impliqué

Inscrit le: 06 Avr 2005 Messages: 338
|
Posté le : Mer Déc 26, 2007 11:13 Sujet du message: [optimisation] mysql connect close |
|
|
Bonjour,
Suite à la lecture de l'article optimiser mysql, que faut-il mieux faire si dans une page j'ai plusieurs requêtes sql avec traitement php derrière ?
| Code: |
connect bdd
requete 1
traitement php 1
requere 2
traitement php 2
close bdd
|
ou se connecter et se déconnecter à chaque fois, pour libérer la connection ouverte ?
| Code: |
connect bdd
requete 1
close bdd
traitement php 1
connect bdd
requere 2
close bdd
traitement php 2
|
Merci et bonne journée |
|
| |
|
 |
medium69 WRInaute accro

Inscrit le: 07 Mai 2005 Messages: 2151 Localisation: Je sais pas trop ;)
|
Posté le : Mer Déc 26, 2007 11:38 Sujet du message: [optimisation] mysql connect close |
|
|
| Au risque de dire une connerie, je serais tenté de dire que tu fermes la connections dès que tu n'a plus l'utilité. |
|
| |
|
 |
pierre_jean WRInaute impliqué

Inscrit le: 06 Avr 2005 Messages: 338
|
Posté le : Mer Déc 26, 2007 11:40 Sujet du message: [optimisation] mysql connect close |
|
|
| medium69 a écrit: |
| Au risque de dire une connerie, je serais tenté de dire que tu fermes la connections dès que tu n'a plus l'utilité. |
J'ai risqué également en posant la question c'est ce que j'aurais tenté de faire aussi ... est-ce une bonne pratique ? |
|
| |
|
 |
petit-ourson WRInaute passionné

Inscrit le: 31 Mai 2004 Messages: 793 Localisation: Paris
|
Posté le : Mer Déc 26, 2007 11:53 Sujet du message: [optimisation] mysql connect close |
|
|
Tout dépend également ton temps de "traitement php 1" ? S'il dure longtemps il est sans doute préférable de fermer ta connexion, sinon c'est peut être pas nécessaire.
Ne peux-tu pas faire :
connect bdd
requete 1
requere 2
close bdd
traitement php 1
traitement php 2 |
|
| |
|
 |
FloBaoti WRInaute passionné

Inscrit le: 30 Avr 2006 Messages: 596 Localisation: Montpellier
|
Posté le : Mer Déc 26, 2007 12:16 Sujet du message: [optimisation] mysql connect close |
|
|
+1 pour petit-ourson
Si le temps entre les 2 requêtes est faible, fermer et réouvrir la connexion va surcharger le serveur pour rien.
En revanche, s'il y a plusieurs secondes entre les 2, et d'autres scripts qui tournent en parallèle, il vaut mieux fermer et réouvrir. |
|
| |
|
 |
pierre_jean WRInaute impliqué

Inscrit le: 06 Avr 2005 Messages: 338
|
Posté le : Mer Déc 26, 2007 12:26 Sujet du message: [optimisation] mysql connect close |
|
|
| FloBaoti a écrit: |
+1 pour petit-ourson
Si le temps entre les 2 requêtes est faible, fermer et réouvrir la connexion va surcharger le serveur pour rien.
En revanche, s'il y a plusieurs secondes entre les 2, et d'autres scripts qui tournent en parallèle, il vaut mieux fermer et réouvrir. |
Effectivement ça semble encore mieux !
Alors comme le suggère petit-ourson (brun ou pas ) le plus optimisé serait :
| Code: |
connect bdd
requete 1
requere 2
close bdd
traitement php 1
traitement php 2
|
mettre toutes les requêtes en début de script et faire tous les traitements php après avoir fermé la connexion mysql ? |
|
| |
|
 |
anthomicro WRInaute occasionnel

Inscrit le: 03 Avr 2004 Messages: 162
|
Posté le : Mer Déc 26, 2007 16:51 Sujet du message: [optimisation] mysql connect close |
|
|
Salut,
Merci d'avoir cité mon article :p
Sinon en fait comme l'a très bien dit petit-ourson, ça dépend de pas mal de choses.
Le mieux est de faire ceci :
connexion
- requete
- requete
- requete [...]
déconnexion
seulement il peut arriver qu'il faille pour faire certaines requêtes, avoir besoin du traitement d'autres requêtes. Ca dépend de ce temps justement. Si ton temps de traitement est élevé, fermes la connexion puis rouvre-la ensuite (tout en sachant qu'ouvrir une connexion demande des ressources processeur importantes), sinon il vaut mieux faire toutes tes requêtes directement puis fermer la connexion ensuite  |
|
| |
|
 |
jcaron WRInaute passionné

Inscrit le: 13 Fév 2004 Messages: 505 Localisation: Paris
|
Posté le : Mer Déc 26, 2007 19:00 Sujet du message: Re: [optimisation] mysql connect close |
|
|
| pierre_jean a écrit: |
| Code: |
connect bdd
requete 1
traitement php 1
requere 2
traitement php 2
close bdd
|
ou se connecter et se déconnecter à chaque fois, pour libérer la connection ouverte ?
| Code: |
connect bdd
requete 1
close bdd
traitement php 1
connect bdd
requere 2
close bdd
traitement php 2
|
Merci et bonne journée |
Ca manque un peu de contexte (hébergement mutualisé ou dédié, tout ça), mais en général, on se débrouille pour garder les connexions aux bases de données ouvertes, au point qu'il est courant de garder la même connexion d'une requête http à l'autre (connexions persistantes). Fermer et rouvrir une connexion à chaque requête c'est un joli gâchis, sauf si on est limité en nombre de connexions, ou qu'on utilise plusieurs bases de données différentes.
Bref, sans contexte, difficile de se prononcer.
Jacques. |
|
| |
|
 |
pierre_jean WRInaute impliqué

Inscrit le: 06 Avr 2005 Messages: 338
|
Posté le : Mer Déc 26, 2007 20:12 Sujet du message: Re: [optimisation] mysql connect close |
|
|
| jcaron a écrit: |
Bref, sans contexte, difficile de se prononcer.
|
Effectivement vous avez raison, le site est sur un dédié. |
|
| |
|
 |
anthomicro WRInaute occasionnel

Inscrit le: 03 Avr 2004 Messages: 162
|
Posté le : Mer Déc 26, 2007 23:04 Sujet du message: [optimisation] mysql connect close |
|
|
En même temps dédié ou mutu même combat, le but est d'avoir un code optimisé  |
|
| |
|
 |
| |
|
|