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

PHP & Base de données Discussion :

Ouvrir puis fermer plusieurs fois une connexion ou qu'une seule fois ?


Sujet :

PHP & Base de données

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 13
    Points : 6
    Points
    6
    Par défaut Ouvrir puis fermer plusieurs fois une connexion ou qu'une seule fois ?
    Bonsoir,

    Je ne pense pas que mon titre soit vraiment explicite : je vais donc vous expliquez ma question.

    Je me demande ce qui est le mieux entre :
    - ouvrir une seule connexion dans le script et transférer cette connexion aux fonctions (en la rendant globale au script).
    - ou ouvrir la connexion directement dans chaque fonction qui en a besoin (soit une connexion locale).

    Je sais pas si vous me comprenez... lol Dans le premier cas : une seule connexion mais je ne trouve pas ça très propre niveau code de faire passer la connexion dans les fonctions. Dans le second cas : plusieurs connexions mais sa risque peut-être de ralentir ? Est-ce que l'ouverture et la fermeture d'une connexion prend du temps ?

    Merci.

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut

    Je te conseille la première option, facile à maintenir.

  3. #3
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 692
    Points : 20 244
    Points
    20 244
    Par défaut
    LA première est en effet plus facile à maintenir mais peut te causer des problèmes si tu as u nfort traffic mais pas la main sur ton serveur mysql.
    En effet tu à le droit à un nombre de connexion concurrentes limites (5,10,50...) or si tu ouvre en début de script puis referme à la fin tu laisse les connexions ouvertes plus longtemps et prend donc le "risque" d'en avoir plus ouverte à un instant t.

    C'est un point à ne pas négliger si tu es sur une offre mutualiser par exemple , car les restrictions à ce niveau sont généralement importantes.

  4. #4
    Membre du Club
    Profil pro
    Développeur multimédia
    Inscrit en
    Mai 2005
    Messages
    57
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur multimédia

    Informations forums :
    Inscription : Mai 2005
    Messages : 57
    Points : 67
    Points
    67
    Par défaut
    La première te permettra aussi, au besoin, de faire des transactions (COMMIT et ROLLBACK) ou d'utiliser des variables SQL, etc...

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    Bonsoir,

    Merci pour vos réponses.

    Bon, pour tout vous dire : je ne m'attendais pas à cette réponse car moi je pencherais plus pour la seconde solution ! lol Le seul problème que je me posais était si cela ne serait pas plus gourmand en ressources serveurs de fermer/ouvrir plusieurs fois une connexion.

    Par ce que moi, je vois les fonctions comme des blocs et je souhaite que ces fonctions soient le moins dépendantes possibles du reste du script !

    Pour être vraiment plus clair, voila la solution à laquelle je pense :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <?php
    function maFonction1(){
    // Instructions...
    // Connexion, Instructions, Déconnexion SQL (PDO)
    }
    function maFonction2(){
    // Instructions...
    // Connexion, Instructions, Déconnexion SQL (PDO)
    }
     
    maFonction2();
    // Instructions...
    maFonction();
     
    ?>
    Comme vous pouvez le voir dans cette exemple, quand j'utilise une fonction, je ne me préocupe pas de la connexion SQL déjà établie.

    Cordialement.

  6. #6
    Modérateur
    Avatar de Vil'Coyote
    Homme Profil pro
    Développeur adélia & Web
    Inscrit en
    Février 2008
    Messages
    4 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur adélia & Web
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4 583
    Points : 7 503
    Points
    7 503
    Par défaut
    salut,

    Pour ma part, je boss sur php/as400 et lors de notre audit, les m'sieurs dames d'ibm nous on vivement conseiller d'utiliser des connexion persistance et ce peut importe le sgbd. pour des raison certes pratique comme indiqué juste avant mais aussi de ressource.
    Après chacun fait qu'il l'entend mais le jour ou tu as des ralentissements ou des soucis d'accès pense à vérifier cela.

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    Vive IBM ! lol Une connexion persistante c'est une connexion qui reste ouverte même après la fin du script ! La meilleur façon d'arriver à la limite du nombre maximal de connexion simultanée. Ils arrivent plus a vendre de serveur ?

    Bon, quand à moi, je vais tenté ma seconde option.

    Merci pour vos réponses.

Discussions similaires

  1. Ouvrir puis fermer un fichier Excel
    Par ANOVA dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 14/09/2020, 11h23
  2. Réponses: 0
    Dernier message: 05/10/2009, 17h25
  3. copie d'une table Y d'une base A vers une table X d'une base
    Par moneyboss dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 30/08/2005, 22h24
  4. Réponses: 28
    Dernier message: 28/07/2005, 15h12
  5. Comment etablir une connexion distante sur une bd sql server
    Par sessime dans le forum Bases de données
    Réponses: 2
    Dernier message: 08/11/2004, 14h19

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