On a TOUJOURS le choix de ne pas faire une boucle sur une requête. Il ne faut JAMAIS mettre une requête dans une boucle, à moins qu'on soit sûr et certain (et là il vaut mieux le prouver mathématiquement si on veut donner une chance de survie à l'appli) que cette boucle ne fasse pas plus de N passages (N étant le plus petit possible).
Ensuite les petites améliorations qui ne coûtent pas cher et qui ne font certes pas gagner grand-chose mais c'est toujours ça de prix :
Dans l'ensemble, je préfère toujours la lisibilité du code à sa performance. Si pour être plus rapide je dois rendre un script illisible, alors je ne le ferai pas. Donc je ne suis pas le plus apte à lister les astuces d'optimisation des perfs
Je préfère de loin optimiser mon serveur Apache
Ensuite les petites améliorations qui ne coûtent pas cher et qui ne font certes pas gagner grand-chose mais c'est toujours ça de prix :
- Quand on manipule des gros tableaux, toujours les passer par référence (à déclarer au niveau de la fonction : function maFonction(&$grosTableau)). Edit : quand je parle de «gros» tableau c'est à partir de 1000 éléments hein Quand on manipule ce genre de tableau on est bien d'accord que le premier reflexe serait de... trouver comment faire autrement
- Quand on parcourt un tableau, toujours utiliser foreach, c'est la syntaxe la plus lisible et la plus rapide dans quasiment tous les cas (voir http://www.php.lt/benchmark/phpbench.php).
- Au niveau des requêtes, fermer la connexion SQL une fois qu'on a fini de faire des requêtes est une bonne pratique : ça permet de ne pas faire durer une connexion inutilement (et donc de retarder le jour fatidique du "fatal error : mysql - too many connections").
Dans l'ensemble, je préfère toujours la lisibilité du code à sa performance. Si pour être plus rapide je dois rendre un script illisible, alors je ne le ferai pas. Donc je ne suis pas le plus apte à lister les astuces d'optimisation des perfs
Je préfère de loin optimiser mon serveur Apache
Ressources [PHP][MySQL][prototype.js]