[PHP/MySQL] Performances - Choix entre deux possibilité :!

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!

Et qu’est ce qui te semble le plus logique?

On va prendre un exemple simple : tu as quelqu’un sous la main (on va dire A), il habite dans la ville A’ et toi (on va dire B) dans la ville B’. A chaque fois que tu veux faire tes tests, tu fais venir A (“ou tu vas voir B dans A’”) dans B’.

Donc, qu’est ce qui est mieux? faire venir A une fois pour toute dans B’, lui demander tout ce que tu as à demander, et lui dire de rentrer chez lui à A’ ? Ou lui faire venir plusieurs fois?

Si tu me répond le second choix, alors c’est que t’as rien compris : ajoute les notions de distance, coût du transport, et tu comprendras que faire une connexion par test c’est débile

le truc c’est que c’est surper chaud car il y a pleins de conditions et quand par exemple il faut traiter le resultat de la premiere requete pour savoir si tu vas ou non effectuer une autre requete, …
et que ca complique le code extremement… je voulais savoir si ca vallait le coup.

C’est quand meme mieux que de faire comme font certains pour contourner le problèeme : je me connecte au tout début du fichier, je fais mes requêtes, tout mon traitement et même mes affichages super longs et ensuite je me deconnecte.

Tu n’as pas pigé alors [j’entend ici ma réponse].

Mettons que entre A’ et B’ il y ait 300Km. Même en avion, ça fait 1 heure (pour 300Km/h, si l’avion va moins vite prend en exemple le TGV sinon), sans oublier l’embarquement et le débarquement : +4h.

Tu mets 5 heures pour que A vienne te voir, toi B.

Donc? Trouves-tu toujours utile de lui faire faire des allers/retours?

Et je ne déconne pas : si la connexion au serveur mysql prend 15 minutes, tu vas demander une fois “hé laisse moi entrer” +15 minutes, tester si c’est X qui est là, te déco., une deuxième fois +15 minutes, etc.

Et pour peu que tu ne sois pas avare, tu vas faire un site plein de contenu. Moralité: tu vas pour chaque test dire je me connecte, je test, je me déco.

J’espère franchement que, si tu mets 15 minutes à te connecter, tes visiteurs sont patients!

Donc :

je réitère, oui c’est débile de se connecter plusieurs fois au même serveur, login, password & bdd.

Connecte toi une fois pour toute, et n’y songe plus.

(et pour répondre juste: ça ne vaut pas du tout le coup, non)

toujours aussi sympa les réponses sur ce forum… :heink:

et apres certains s’etonnent de la baisse d’activité sur les forums clubic dans le courrier des lecteurs… Je ne pose plus de questions… :ange:

Au lieu de répondre gentiment, de chercher à comprendre la raison de sa question, d’essayer de comprendre sa problématique, l’agression directe…

attention TheSebest, avec une seule connection à la base, tu peux faire plusieurs requetes. (j’ai l’impression que t’a pas compris, je me trompe peut etre)

donc tu te connecte au début.

tu fais une première requete

tu traite les infos (et pas besoin que renvoyer le type dans la ville B :))

ensuite tu peux très bien construire une deuxième requete avec les donnée de la première.

J’ai bien compris qu’il fallait faire une seule connexion.
Je pense que certains lisent trop vite… ou alors je m’exprime mal, c’est possible. enfin bon!

Je sais bien sur que l’on peut effectuer plusieurs requetes. Ce que je veux dire c’est que des fois 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 “…”:wink: 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.

Dans mon exemple, j’ai mis 15 minutes pour la connexion, mais c’est plus court (au max : 30 secondes, y a un timeout!=)). Néanmoins, tu risques vraiment de ralentir l’affichage de la page plus qu’autre chose.