Requetes inutile


sff
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 336
Inscription: 2 Fév 2005

Requetes inutile

Message le Dim Fév 10, 2008 18:53

Bonjours, j'aimerai avoir votre avis sur cette question. Imaginons une page php avec 2 fonctions dedans.

Pensez vous qu'il est préférable d'éxéctuer des requetes sql à l'intérieur des fonctions en sélectionnant juste les champs nécéssaire, comme l'exemple 1 ou alors mieu vaut faire une requete principal en dehors des fonctions, en mettant un global dans les fonctions. Voir exemple 2.

J'ai simplifié volontairement les codes.

Exemple1
Code: Tout sélectionner
function fonction1() {

$varq = SELECT nom FROM table;
$var = mysql_fetch_array($varq);

echo $var['nom'];

}

function fonction2() {

$varq = SELECT prénom FROM table;
$var = mysql_fetch_array($varq);

echo $var['prénom'];

}



Exemple2
Code: Tout sélectionner

$varq = SELECT nom, prénom FROM table;
$var = mysql_fetch_array($varq);

function fonction1() {

global $var;

echo $var['nom'];

}

function fonction2() {

global $var;

echo $var['prénom'];

}


webmasterlamogere
WRInaute passionné
WRInaute passionné
 
Messages: 1874
Inscription: 17 Déc 2006

Message le Dim Fév 10, 2008 19:51

niveau performance, il vaut mieux un seul select.


Leonick
WRInaute accro
WRInaute accro
 
Messages: 18812
Inscription: 8 Aoû 2004

Message le Dim Fév 10, 2008 21:59

plutôt qu'un global, pourquoi ne pas passer la valeur en paramètre de la fonction ?


Sacha | Bankexam.fr
WRInaute discret
WRInaute discret
 
Messages: 94
Inscription: 18 Juin 2007

Message le Lun Fév 11, 2008 10:45

webmasterlamogere a écrit:niveau performance, il vaut mieux un seul select.


Ce qui n'est pas toujours vrai, deux select sont parfois plus rentable en terme de perf qu'un seul, tout depend du select bien entendu. Monitorer les perfomances s'avère parfois un choix judicieux pour trancher entre deux facons de faire.

Mais dans le cas présent il est clair que pour retourner deux champs d'un meme enregistrement, c'est une seule requete qu'il faut faire !

Comme dis Leonick,

Code: Tout sélectionner
$varq = SELECT nom, prénom FROM table;
$var = mysql_fetch_array($varq);
afficher($var['nom']);
afficher($var['prenom']);

function afficher(valeur)
{ echo valeur }


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités