J'ai 2 tables: 1. nouvelles (450k lignes) 2. news_tags (3m lignes)2k lignes mise à jour est très lent dans MySQL
Il y a des déclencheurs sur la mise à jour de la table de nouvelles qui mise à jour des listes. Ce SQL s'exécute trop longtemps ...
UPDATE news
SET news_category = some_number
WHERE news_id IN (SELECT news_id
FROM news_tags
WHERE tag_id = some_number); #about 3k rows
Comment puis-je le rendre plus rapide?
Merci à l'avance, S.
Définir "lent" s'il vous plaît. Qu'est-ce qui est trop long? Comment le plan d'exécution ressemble-t-il? Des problèmes pour trouver les données à mettre à jour (tag_id non indexé), ou des problèmes dans l'exécution grâce à des déclencheurs lents peut-être morts? Etes-vous CPU ou IO lié? – TomTom
Ceci est une mise à jour unique sur un db de production et cela prend plus de 5 minutes. Notre application Web renvoie une erreur 504 lors de l'exécution de la requête ... SELECT news_id FROM news OERE news_id IN (SELECT news_id FROM news_tags OERE tag_id = un_numbre) prend 1.04 secondes. Donc le problème est dans les déclencheurs mais je ne peux pas les désactiver. – sergeik