Optimisation du temspd e réponse MySQL

Résolu
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 - 1 juin 2005 à 11:53
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 - 2 juin 2005 à 09:44
salut



voila je dois afficher sur une meme page 5tables en provenance d'une meme base MySQL

et je voudrais savoir si je dois faire 5requetes différentes et
afficher tout ca un par un ou si il existe une astuce pr optimiser les
temspde réponse et donc d'affichage!!!!!



merci d'avance.....

8 réponses

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
1 juin 2005 à 12:01
Salut,



tout depend de ta version de mysql.

ceci dit, si ce sont 5 requetes differentes, mieux vaut les separer, ce sera toujours plus clair.

Les temps de reponse seront optimises surtout par la structure de ta
base, et eventuellement comment tu effectues tes requetes...mais pas en
agregeant 5 requetes en 1 ;-)
3
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
1 juin 2005 à 20:36
Salut,



tu peux aussi tout faire en une seule requête (attention elle va être
longue). Tu ne feras qu'une boucle while, ça sera plus rapide au final
de toutes façons.



prenons un exemple, tu as une table comportant les champs
"login,passe,mail" qui se nomme "membres" et une deuxième table
comportant les champs "adresse,telephone,rue" se nommant "profil" (les
deux tables ne sont pas liés et les adresses ne correspondent pas aux
membres, c'est juste un exemple). Tu veux tout récupérer et afficher :



(tu dois rajouter les connexions à la base, je mets juste la requête)



$requete=mysql_query('SELECT m.login,m.passe,m.mail,p.adresse,p.telephone,p.rue FROM membres m,profil p');



while($r=mysql_fetch_row($requete))

{

$login=$r[0];

$passe=$r[1];

$mail=$r[2];

$adresse=$r[3];

$telephone=$r[4];

$rue=$r[5];

}


bon après t'agence ça comme tu veux.



a +
<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
3
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
1 juin 2005 à 13:45
ok donc tu preconises de faire 5 mysql_query("SELEC * FROM ....

et de tout récupérer pour finalement les afficher qu'apres!!!

je vais suivre ton conseil comme dab' ;)
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
1 juin 2005 à 13:50
Pas de SELECT *...jamais. Nomme tes champs, n'utilise pas le joker *.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
1 juin 2005 à 14:29
ha ouais merde c relou je fais ca dans chacun de mes trucs!!!

tu peux me dire prkoi?????
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
1 juin 2005 à 14:33
Parce que ca alourdit terriblement la charge du serveur...bref, c'est l'oppose d'une optimisation ;-)
0
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
1 juin 2005 à 15:13
lol ok merci bcp!!!!!!!!!!!

je vais essayer de m'en souvenir!!!!
0
LaTatadu91 Messages postés 968 Date d'inscription jeudi 20 mai 2004 Statut Membre Dernière intervention 26 avril 2013 1
2 juin 2005 à 09:44
pas mal ca merci bien!!!
0
Rejoignez-nous