Maison > base de données > tutoriel mysql > Comment puis-je mettre à jour efficacement plusieurs lignes MySQL simultanément ?

Comment puis-je mettre à jour efficacement plusieurs lignes MySQL simultanément ?

Patricia Arquette
Libérer: 2025-01-21 20:03:13
original
545 Les gens l'ont consulté

How Can I Efficiently Update Multiple MySQL Rows Concurrently?

Mises à jour simultanées des lignes MySQL : meilleures pratiques

L'optimisation des performances de la base de données implique souvent des techniques efficaces pour mettre à jour plusieurs lignes. Cet article décrit les stratégies permettant de réaliser des mises à jour simultanées dans MySQL.

Exploiter INSERT ... ON DUPLICATE KEY UPDATE pour les opérations par lots

L'instruction INSERT ... ON DUPLICATE KEY UPDATE de MySQL offre une méthode puissante pour insérer de nouvelles lignes ou mettre à jour celles existantes en fonction des valeurs fournies. Ceci est particulièrement avantageux pour effectuer plusieurs mises à jour simultanément.

Exemple illustratif :

Considérez cette structure de tableau :

Name id Col1 Col2
Row1 1 6 1
Row2 2 2 3
Row3 3 9 5
Row4 4 16 8

Pour consolider plusieurs mises à jour en une seule requête, utilisez ce qui suit :

<code class="language-sql">INSERT INTO table (id,Col1,Col2) VALUES (1,1,1),(2,2,3),(3,9,3),(4,10,12)
ON DUPLICATE KEY UPDATE Col1=VALUES(Col1),Col2=VALUES(Col2);</code>
Copier après la connexion

Cette requête effectue les actions suivantes :

  • Insère des lignes avec les ID 1, 2 et 3 si elles n'existent pas.
  • Mises à jour Col1 à 10 et Col2 à 12 pour la ligne avec l'ID 4.

La clause ON DUPLICATE KEY UPDATE évite les entrées en double, garantissant ainsi que les mises à jour sont appliquées correctement. Cette approche améliore considérablement l'efficacité par rapport aux UPDATE déclarations individuelles.

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal