• # petites pistes

    Posté par . En réponse au message serveur sql surchargé de maniére épisodique. Évalué à 2.

    Par défaut les tables temporaires Mysql utilisent la RAM. Si elle est/devient très grosse (> tmp_table_size), elle atterrit sur le disque. Si tu fais bcp de modifs sur cette table temporaire, et que le calcul total dure 1 minute comme tu le dis, y'a des chances que les données soient réellement flushées sur le disque à partir du cache mémoire : coûteux en perfs.

    --> Il est possible d'augmenter la variable mysql : SET global tmp_table_size=1000000000;

    --> ou il est aussi possible de créer manuellement cette table temporaire, en mémoire, en précisant le TYPE HEAP lors du CREATE.

    --> Si tes requêtes pour générer cette table temporaire impliquent beaucoup de jointures, ça vaudra le coup de passer les tables originelles concernées par lesdites jointures en InnoDB

    --> Tu sembles dire que ton serveur de BDD gère de nombreuses tables, peut-être même plusioeurs bases de données ; as-tu déja vérifié que ton Mysql profite bien de toute la RAM, et pensé à ajouter une barette?