Heim > Backend-Entwicklung > Golang > Wie kann ich mehrere Zeilen in PostgreSQL mit einer einzigen Abfrage effizient massenhaft aktualisieren?

Wie kann ich mehrere Zeilen in PostgreSQL mit einer einzigen Abfrage effizient massenhaft aktualisieren?

Mary-Kate Olsen
Freigeben: 2024-12-05 14:24:11
Original
188 Leute haben es durchsucht

How Can I Efficiently Bulk Update Multiple Rows in PostgreSQL Using a Single Query?

Massenaktualisierung mehrerer Zeilen mit einer einzigen PostgreSQL-Abfrage

Die Aktualisierung mehrerer Zeilen in einer PostgreSQL-Datenbank mit Go kann effizient mit einem einzigen SQL erreicht werden Stellungnahme. Dieser Ansatz bietet eine bequeme Möglichkeit, mehrere Datensätze auf einmal zu aktualisieren, wodurch die Anzahl der erforderlichen Abfragen reduziert und die Leistung verbessert wird.

Um Massenaktualisierungen durchzuführen, können wir eine abgeleitete Tabelle verwenden, bei der es sich um eine temporäre Tabelle handelt, die innerhalb von erstellt wird Umfang einer Abfrage. Dadurch können wir Werte für die zu aktualisierenden Zeilen angeben. So geht's:

UPDATE t
SET column_a = v.column_a,
    column_b = v.column_b
FROM (VALUES (1, 'FINISH', 1234),
             (2, 'UNFINISH', 3124)
     ) v(id, column_a, column_b)
WHERE v.id = t.id;
Nach dem Login kopieren

In diesem Beispiel erstellen wir eine abgeleitete Tabelle namens v mit drei Spalten: id, Column_a und Column_b. Wir stellen Werte für zwei Zeilen bereit, die die Aktualisierungen darstellen, die wir vornehmen möchten. Die WHERE-Klausel gleicht die ID-Spalte der abgeleiteten Tabelle mit der ID-Spalte der Tabelle ab, die wir aktualisieren (t).

Dieser Ansatz macht es einfach, zusätzliche Zeilen zur Aktualisierung hinzuzufügen, indem einfach weitere Zeilen hinzugefügt werden die abgeleitete Tabelle. Dies ist weniger fehleranfällig als das Schreiben mehrerer einzelner Aktualisierungsanweisungen.

Das obige ist der detaillierte Inhalt vonWie kann ich mehrere Zeilen in PostgreSQL mit einer einzigen Abfrage effizient massenhaft 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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage