Vaut-il mieux favoriser MySQL ou php?

Eléphant du PHP | 61 Messages

03 févr. 2007, 11:26

Bonjour à tous !
Voilà depuis pas mal de temps j'ai une question qui me trote dans la tête et qui porte certainement à débat. Cependant étant débutant et soucieux de l'optimisation de mes script je désirerai avoir une réponse...
Vos t-il mieux favoriser els requetes SQL et faire appel à des fonctions de type SUM() et faire plusieurs requetes pour chaque table OU BIEN faire une seul requete SELECT sur plusieurs tables avec des joitures et calculer par exemple à l'aide d'un boucle ?
En faite dois-ton favoriser MySQL ou PHP ?
Ou bien faire appel a ce qui nous ressemble etre le plus simple dans un cas précis?

ViPHP
ViPHP | 1961 Messages

03 févr. 2007, 11:56

Bonjour,

Je pense qu'il est très difficile de te donner une réponse catégorique.

C'est en fonction des cas.
Rien que pour MySQL, rien ne dit qu'une seule requête soit plus performante qu'un ensemble pour aboutir au même résultat.
EXPLAIN t'aide dans ce choix.
D'un autre coté, normalement PHP est moins rapide que MySQL, mais là aussi il-y-a discution.
Les fonctions MySQL ralentissent les requêtes, ...

Moi je te dirais, à étudier au cas par cas (sauf certains qui sont des évidences).
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein

Eléphant du PHP | 61 Messages

03 févr. 2007, 12:49

Merci pour la réponse !
C'est ce que j'attendais merci :D

Mammouth du PHP | 19672 Messages

03 févr. 2007, 12:55

Je serais tenté de dire qu'il faut tester : soit une requête complexe unique, soit plusieurs requêtes plus simples avec un traitement PHP : mais il ne faut pas oublier que chaque requête emprunte des ressources réseau... et du temps, sans compter le temps de traitement PHP qui sera forcément plus long aussi que celui d'un résultat complet à la base : il faut mesurer le délai et si la différence n'est pas significative, alors je serais beaucoup plus enclin à recommander la solution SQL.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe: