J'ai un script PHP en deux parties.Les requêtes MySQL ralentissent après un DELETE
- Le premier qui supprime certaines lignes dans la base de données
- La seconde qui déclenche les requêtes SELECT
Le second script est exécuté seul environ 0,2 sec. Lorsque les deux parties sont traitées, la seconde partie prend 5 secondes. La prochaine fois que le second script s'exécute seul, il revient à 0,2 sec.
Une idée?
Je suppose que tous les indices que vous avez sur cette table sont en cours de reconstruction après la suppression. Pouvez-vous publier les résultats de SHOW INDEX FROM mytable? – twerq
Si vous attendez quelques secondes après la suppression, le 'SELECT' s'exécute-t-il rapidement? Autrement dit, exécutez la suppression, attendez, puis exécutez la sélection. – Mike
Il existe en fait un index: une clé primaire. Cependant, il n'y a pas de temps d'attente entre les deux parties des scripts. L'index est-il reconstruit pendant que la seconde partie s'exécute? existe-t-il un moyen de forcer la reconstruction d'index avant la deuxième partie du script? – MindTailor