Se connecter avec
S'enregistrer | Connectez-vous

Optimisation de code

Dernière réponse : dans Programmation
Expert Programmation

Salut,

J'aurais voulu avoir votre avis sur la technique la plus optimisée pour compter des données issues d'une table MySQL.

Il est en effet possible de le faire dans la requête mysql :
  1. $query = mysql_query('SELECT COUNT(data) as nbData FROM myTable WHERE data = "myFilter"');
  2. $response = mysql_fetch_array($query);
  3. $number = $response['nbData'];


Il est aussi possible de faire le calcul avec php :
  1. $query = mysql_query('SELECT data FROM myTable WHERE data = "myFilter"');
  2. $number = mysql_num_rows($query)


Donc est-il moins coûteux en ressources serveur de faire le calcul côté MySQL ou côté PHP ? Je n'ai pas trouvé de réponses claires à cette question ? Mais peut-être est-elle aussi incomplète, et qu'ils existe d'autres moyens plus optimisés... Si oui, lesquels ?

Merci :) 

Autres pages sur : optimisation code

Lassé par la pub ? Créez un compte

Si tu n'a besoin que de la valeur et rien d'autre, la 1ere est plus optimisée, si tu as besoin de la valeur ET d'acceder aux données, la 2eme prime ça evite de faire 2 requetes.

Enfin c'est mon avis...

Dans tous les cas, les acces à la BDD ont un cout en terme de perfs nottament des acces au disque dur. Alors qu'un traitement php se fait en ram directement vu que le script est chargé pour être interprété.
Expert Programmation

Merci pour ta réponse, elle est logique :) 

J'avais déjà intuitivement (par fainéantise :o ) identifié le bénéfice en lignes de code à faire le calcul en php quand la requête me servait aussi à autre chose. J'aurais du imaginer que ce qui était moins coûteux à écrire était également moins coûteux à traiter par le serveur :D 
Lassé par la pub ? Créez un compte