Lors de la création d'un nouveau post dans le forum, l'accès database est devenu très lent.
Il faut que je découvre comment défragmenter tout ça...

Le problème n'apparait que sur la création d'un nouveau topic, pas sur répondre ou éditer.

J'ai testé l'optimisation des tables innoDB mais ça ne donne rien :
https://talk.plesk.com/threads/optimize … se.110728/

You can optimize an InnoDB table by doing

ALTER TABLE tablename ENGINE='InnoDB';
This will create a copy of the original table drop the original table and put the new table in it's place.

There is some additional information here which includes things you should be aware of.

Also in the MySQL Documentation. See the comment by Dathan Pattishall on May 25 2004 4:41pm about half way down the page.

Although this should be safe to do you should make and test a backup first.

Commande SQL pour calculer le fragment ratio :
https://serverfault.com/questions/20200 … sql-tables

select ENGINE,
  concat(TABLE_SCHEMA, '.', TABLE_NAME) as table_name,
  round(DATA_LENGTH/1024/1024, 2) as data_length,
  round(INDEX_LENGTH/1024/1024, 2) as index_length,
  round(DATA_FREE/1024/1024, 2) as data_free,
  (data_free/(index_length+data_length)) as frag_ratio
FROM information_schema.tables
WHERE DATA_FREE > 0
ORDER BY frag_ratio DESC;

Mais apparemment ça ne viendrait pas de la fragmentation.

Je viens de tester de faire un export dump la database en fichier sql, puis de tout réimporter avec l'option de recréation de database -> Toujours aussi lent...

La requête hyper lente arrive sur les pages post et register.

Ok, ça ne vient pas de la database, mais de la notification email d'un nouveau post.
Alors soit la récupération de la liste des emails inscrits, soit un test d'attente sur l'email qui envoie la notification (plus probable...)

Je l'ai corrigé en désactivant entièrement la notification par email des personnes ayant posté dans le forum. Tout ça à cause des personnes utilisant un faux email pour créer leur compte... roll