• [^] # Re: Problème de clés ?

    Posté par (site web personnel, Mastodon) . En réponse au journal Performance MYSQL. Évalué à 3.

    On peut aussi optimiser en rassemblant les requêtes. Si par exemple on doit faire 3 insert à la suite sur la même table, rassembler tout ça en un seul insert.

    On peut aussi faire de la duplication d'informations (mais pas trop :-)). Par exemple, on affiche une liste de discussions, et on veut afficher pour chacune d'elles le nombre de reponses. Plutôt que de faire un count pour chaque discussion et/ou des group by , on pourrait mettre un champs qui contient le nombre de réponse, ça évite d'avoir à le "calculer" à chaque fois, ça évite les jointures. Certes, ça fait pas très propre pour un puriste, mais d'un point de vue pragmatique, ça permet d'améliorer les perfs.

    Et puis en mysql 5, on peut aussi utiliser les triggers. Alors si on doit effectuer des modifications sur d'autres tables quand on en modifie une, utiliser les triggers. ça évite de faire X requetes "à la main", et sera bien plus optimisé au niveau execution (et puis le code client sera plus propre). les triggers ça permet aussi de garder une cohérence dans le schema sans avoir toutes les rêgles de gestion en tête. Par exemple, lors de l'insertion d'une réponse dans la base, le trigger ira faire un update du champs "nombre de reponse" sur la discussion ;-).

    Bref, essayer d'optimiser au mieux le sql.