IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes MySQL Discussion :

Performances


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite

    Profil pro
    Inscrit en
    Avril 2004
    Messages
    219
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2004
    Messages : 219
    Par défaut Performances
    Bonjour,

    Je voudrais savoir qu'est ce qu'il vaut mieux faire, ou si cela n'a pas vraiment d'importance : est-ce qu'il vaut mieux se connecter une fois a la BDD faire toutes les requetes dont a besoin avec les differents tests puis se deconnecter et ensuite refaire les tests un seconde fois et tout traiter. Ou alors se connecter et se deconnecter a chaque fois que l'on en a besoin dans la page.
    Hum cela sera plus clair avec un exemple :

    Fichier.php
    ...
    connexion
    requete
    deconnexion
    ...
    if(.....)
    connexion
    requete
    deconnexion
    ...

    Fichier.php
    ...
    connexion
    requete
    if(...)
    requete
    deconnexion
    ....
    if(...) // meme test qu'au dessus
    ....

    Merci!

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 414
    Par défaut
    la connexion est toujours une opération couteuse. Moins on en fait, mieux c'est.

    Donc il vaut mieux ne faire qu'une connexion par page.

    Le top est toujours d'utiliser un pool de connexions comme le font les serveurs d'applications J2EE comme WAS ou Tomcat ou comme le fait également CICS

  3. #3
    Membre émérite

    Profil pro
    Inscrit en
    Avril 2004
    Messages
    219
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2004
    Messages : 219
    Par défaut
    Merci,

    C'est quoi un pool de connexions ?

    En fait j'ai toujours entendu dire qu'il faut se deconnecter le plus vite possible de la BDD mais bon faire qu'une seule connexion par page c'est chaud parfois quand il ya pleins de tests et qu'il y a plein de trucs qui dependent...

  4. #4
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 414
    Par défaut
    un pool de connexions est un ensemble de connexions permanentes à la base. Toutes les transactions passent par ce pool.

    Ca évite d'avoir à faire des connexions à chaque requete (opération couteuse) et surtout ca evite d'avoir 700 connexions simultanées à une BDD si tu as 700 utilisateurs simultanées.

  5. #5
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 414
    Par défaut
    en fait si on te dit qu'il faut se déconnecter le plus rapidement c'est pour éviter surement d'arriver éventuellement à des cas limites où bcp de connexions simultanées sont observées.

    Effectivement, si tu as bcp de traitements dans ta page, la connexion va être conservée un certain temps, ce qui pourrait t'amener à des cas limites. Je comprends donc ta question.

    Cependant PHP 3,4 ne gère pas le pooling de connexions au BDD. Seul PHP 5 commence timidement à le gérer, cette solution n'est donc peut etre pas envisageable pour toi.

    Combien de temps met ta page pour s'afficher et traiter l'ensemble des traitements à faire?

  6. #6
    Membre émérite

    Profil pro
    Inscrit en
    Avril 2004
    Messages
    219
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2004
    Messages : 219
    Par défaut
    Je ne sais pas exactement combien de temps elle met mais c'est rapide. Je peux ajouter un script et faire des tests si veux mais bon.

    Je me posais surtout la question dans le cas où ce que je fais marcherai bien et qu'il y aurai beaucoup de monde. Donc je voulais optimiser dès le début pour ne pas avoir à tout refaire.

    J'ai bien compris que se connecter est couteux et qu'il faut le faire qu'une seule fois. C'est juste que cela peut etre compliqué à mettre en oeuvre parfois. Exemple : on effectue une requete, une seconde et ensuite pour effectuer la troisieme requete, on a besoin de traiter la premiere requete et que ce traitement peut etre long... Donc je me posais la question de savoir si c'etait long de se connecter. J'ai bien compris que oui.

    Je vois aussi dans des scripts php à télécharger que la connexion se fait au tout début et la deconnexion se fait meme apres les affichages (echo "..." et ca c'est pas bon parceque c'est long et que pendant ce temps si l'hebergeur n'autorise qu'une seule connexion simultannée ca ralenti tout.

  7. #7
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 414
    Par défaut
    Si ta page s'affiche rapidement, le plus optimal en terme de perfs sera de se connecter une unique fois.
    http://www.myphphost.net/index-howto-mysql-optimiser_connexion_.php

    Dans le cas ou tu aurais un traitement long intermédiaire (par exemple plus long que quelques secondes) alors effectivement il serait peut etre judicieux de se déconnecter.

    Derniere chose, c'est pas parce que tu vois dans des scripts php à télécharger certaines que c'est bien. Sur certains produits, scripts, softs gratuits, la qualité de développement n'est souvent pas au rendez-vous.

  8. #8
    Membre émérite

    Profil pro
    Inscrit en
    Avril 2004
    Messages
    219
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2004
    Messages : 219
    Par défaut
    Ouais c'est pas toujours évident de trouver des astuces et conseils sur comment bien programmer, comment choisir tele ou telle solution, c'est avec l'experience qu'on attrape ca

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [maintenance][performance] Que faire comme maintenance ?
    Par woodwai dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 06/11/2003, 15h39
  2. Performance xml
    Par MicKCanE dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 07/07/2003, 06h41
  3. [ POSTGRESQL ] Problème de performance
    Par Djouls64 dans le forum PostgreSQL
    Réponses: 6
    Dernier message: 26/05/2003, 16h18
  4. [JDBC][connexion persistante] performances avec JDBC
    Par nawac dans le forum Connexion aux bases de données
    Réponses: 6
    Dernier message: 06/05/2003, 10h37
  5. performance entre 3DS, ase, asc ...
    Par amaury pouly dans le forum OpenGL
    Réponses: 3
    Dernier message: 24/03/2003, 11h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo