JeuWeb - Crée ton jeu par navigateur
2 requêtes mySQL ou 1 boucle PHP - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : 2 requêtes mySQL ou 1 boucle PHP (/showthread.php?tid=2416)

Pages : 1 2


RE: 2 requêtes mySQL ou 1 boucle PHP - nemesis_elite - 15-02-2008

Oui, excusez j'ai fait ce script akapela ^^
C'est vrai que j'me suis planté de order by. Avec nom ça peut être mieux en effet Wink

C'était surtout pour le principe on va dire.


RE: 2 requêtes mySQL ou 1 boucle PHP - NicoMSEvent - 15-02-2008

perso, je ferais comme ça :

SELECT nom,sex FROM user ORDER BY sex,nom;

Code PHP :
<?php 
while($res=GetLigneDB($ressource_db)){ //une petite fonction perso : voir tuto accès simple a une DB avec php4 (non objet)
if($old==$res[1]){
echo
', '.$res[0];
}
else{
if(
$old!='')echo'</div>';
echo
'<div class="'.$res[1].'">'.$res[0];
$old=$res[1];
}
}
echo
'</div>';



RE: 2 requêtes mySQL ou 1 boucle PHP - keke - 15-02-2008

Heu ...

Ben moi, puisqu'il s'agit de faire de l'optimisation de performance j'aurais bien vu 2 requêtes.
En effet, mais cela dépend de plusieurs paramètres, si tu cherches à optimiser ta requête, c'est que tu dois avoir une sacré charge de donnée à traiter. Donc, j'en déduis que tu utilises une BDD vachement puissante pour cela : ORACLE.
Tu utilises par ailleurs PHP sinon on ne serait pas là pour discuter.
Fort de tous ces facteurs j'aurais tendance à te dire que la fonction if qui traite 2 données 1à1 en provenance de ta requête SQL effectuera plus de temps de calcul que les requêtes super optimisé que l'on trouve en BDD. En effet, ORACLE utilise des systèmes d'indexations qui permettent des optimisation que PHP traitant les données 1 à 1 ne peut pas gérer.

Maintenant, à savoir que Mysql s'oriente vers des indexations :
http://doc.domainepublic.net/mysql/doc_mysql/mysql-indexes.html (datant de 2003 tout de même)
Que je ne t'imagine pas traiter 60 Tera de donnée en bases ouvertes à chaque clic

Et que les quelques secondes que tu auras économisés annuellement ne prévaudra pas sur l'investissement de temps que tu auras dépensé dans cette recherche.

Bon courage pour ton optimisation.
kéké.


RE: 2 requêtes mySQL ou 1 boucle PHP - NicoMSEvent - 15-02-2008

a mon avis, dans le cadre d'une gestion d'amis sur un jeu en php, on n'atteindra pas les 60 Teras ^^

L'avantage avec le morceau de code que j'ai fourni, c'est de ne pas enregistrer une concaténation de toutes les données retournées dans une variable, et donc est moins couteuse en ressource (mémoire), avec l'avantage de n'avoir qu'une requete. Je ne cherche pas a avoir raison a tout prix non plus, mais il me semble que je ne suis pas dans le faux ^^