11-11-2012, 12:01 PM
Plutôt d'accord avec Sephi.
Quand j'étais jeune développeur PHP, je me posais tous le temps la question, est-ce que cette requête est utile, dès que je dépassais 5 requêtes par page, je me privais de mettre en place des fonctionnalités pour ne pas augmenter la charge. Mais d'un autre côté, j'ai toujours bien découpé mon code en fonction (avant de passer à l'objet).
Ne te prend pas la tête, comme le dit Sephi : "Premature optimization is the root of all evil.".
Va au bout de ton projet. Code tout ce dont tu as besoin et puis fais tes requêtes tant que tu en as besoin.
Quand tu auras un tout fonctionnel, et que tu constateras que ce que tu as fais est gourmand tu trouveras toujours un moyen de l'optimiser, point par point.
Du genre :
- tiens ici, obtenir la liste des joueurs connectés me prend du temps ? je modifie ma fonction pour stocker ça dans mon cache APC, et je remet à jour toutes les 5 minutes.
- tiens, là, quand l'utilisateur fais ça, j'effectue cette requête plutôt lourde, mais le résultat de cette dernière ne change pas souvent. J'identifie ce qui fait varier le résultat de cette requête et je met en place un cache adapté. Si deux autres actions font varier le résultat, je mais en place à ces deux endroits précis, une mise à jour de ce cache.
Bon, ce sont des cas bateaux, mais l'idée est là. Pense d'abord à ton application, la charge, tu as tout le temps d'y penser, ce n'est pas un vrai problème.
Quand j'étais jeune développeur PHP, je me posais tous le temps la question, est-ce que cette requête est utile, dès que je dépassais 5 requêtes par page, je me privais de mettre en place des fonctionnalités pour ne pas augmenter la charge. Mais d'un autre côté, j'ai toujours bien découpé mon code en fonction (avant de passer à l'objet).
Ne te prend pas la tête, comme le dit Sephi : "Premature optimization is the root of all evil.".
Va au bout de ton projet. Code tout ce dont tu as besoin et puis fais tes requêtes tant que tu en as besoin.
Quand tu auras un tout fonctionnel, et que tu constateras que ce que tu as fais est gourmand tu trouveras toujours un moyen de l'optimiser, point par point.
Du genre :
- tiens ici, obtenir la liste des joueurs connectés me prend du temps ? je modifie ma fonction pour stocker ça dans mon cache APC, et je remet à jour toutes les 5 minutes.
- tiens, là, quand l'utilisateur fais ça, j'effectue cette requête plutôt lourde, mais le résultat de cette dernière ne change pas souvent. J'identifie ce qui fait varier le résultat de cette requête et je met en place un cache adapté. Si deux autres actions font varier le résultat, je mais en place à ces deux endroits précis, une mise à jour de ce cache.
Bon, ce sont des cas bateaux, mais l'idée est là. Pense d'abord à ton application, la charge, tu as tout le temps d'y penser, ce n'est pas un vrai problème.