La tâche consiste à mettre à jour la table à mettre à jour avec les données de la table d'origine en fonction de la correspondance valeurs stockées dans un champ VARCHAR(32). La requête actuelle, bien que fonctionnelle, souffre de problèmes de performances.
Pour améliorer les performances, envisagez la requête optimisée suivante :
UPDATE tobeupdated INNER JOIN original ON (tobeupdated.value = original.value) SET tobeupdated.id = original.id
Cette requête exploite la syntaxe JOIN au lieu de plusieurs conditions WHERE, ce qui facilite la lecture. De plus, assurez-vous que les deux tables ont des index créés sur le champ de valeur pour faciliter des recherches plus rapides lors de l'opération de jointure.
Pour une optimisation plus poussée, une version simplifiée de la requête utilisant le mot-clé USING est recommandé :
UPDATE tobeupdated INNER JOIN original USING (value) SET tobeupdated.id = original.id
Le mot-clé USING est utilisé lorsque les deux tables d'une jointure partagent une clé nommée identique (comme id dans ce cas), désignant un optimisation des équi-jointures.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!