Heim > Datenbank > MySQL-Tutorial > Wie kann ich MySQL-Tabellenwerte aus einer anderen Tabelle effizient aktualisieren?

Wie kann ich MySQL-Tabellenwerte aus einer anderen Tabelle effizient aktualisieren?

DDD
Freigeben: 2025-01-04 13:58:40
Original
967 Leute haben es durchsucht

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

MySQL-Tabellenwerte effizient von einer anderen aktualisieren

Problemübersicht

Die Aufgabe besteht darin, die zu aktualisierende Tabelle mit Daten aus der Originaltabelle basierend auf dem Abgleich zu aktualisieren Werte, die in einem VARCHAR(32)-Feld gespeichert sind. Die aktuelle Abfrage ist zwar funktionsfähig, weist jedoch Leistungsprobleme auf.

Lösung

Um die Leistung zu verbessern, ziehen Sie die folgende optimierte Abfrage in Betracht:

UPDATE tobeupdated
INNER JOIN original ON (tobeupdated.value = original.value)
SET tobeupdated.id = original.id
Nach dem Login kopieren

Diese Abfrage nutzt die JOIN-Syntax anstelle mehrerer WHERE-Bedingungen, was die Lesbarkeit erleichtert. Stellen Sie außerdem sicher, dass in beiden Tabellen Indizes für das Wertfeld erstellt wurden, um schnellere Suchvorgänge während des Join-Vorgangs zu ermöglichen.

Vereinfachte Abfrage

Zur weiteren Optimierung eine vereinfachte Version der Abfrage mit dem Schlüsselwort USING wird empfohlen:

UPDATE tobeupdated
INNER JOIN original USING (value)
SET tobeupdated.id = original.id
Nach dem Login kopieren

Das Schlüsselwort USING wird verwendet, wenn beide Tabellen in einem Join einen identisch benannten Schlüssel (wie in diesem Fall id) gemeinsam nutzen, der einen bezeichnet Equi-Join-Optimierung.

Das obige ist der detaillierte Inhalt vonWie kann ich MySQL-Tabellenwerte aus einer anderen Tabelle effizient aktualisieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage