Maison > base de données > tutoriel mysql > Comment puis-je mettre à jour efficacement les valeurs d'une table MySQL à partir d'une autre table ?

Comment puis-je mettre à jour efficacement les valeurs d'une table MySQL à partir d'une autre table ?

DDD
Libérer: 2025-01-04 13:58:40
original
967 Les gens l'ont consulté

How Can I Efficiently Update MySQL Table Values from Another Table?

Mise à jour efficace des valeurs de table MySQL à partir d'un autre

Aperçu du problème

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.

Solution

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
Copier après la connexion

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.

Requête simplifiée

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
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal