Heim > Datenbank > MySQL-Tutorial > Wie kann ich mehrere Zeilen in PostgreSQL mit einer einzigen Abfrage effizient aktualisieren?

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

DDD
Freigeben: 2025-01-12 22:46:44
Original
421 Leute haben es durchsucht

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

Einzelabfrage-Updates in PostgreSQL: Eine Leistungssteigerung

PostgreSQL bietet, wie viele Datenbanksysteme, effiziente Methoden zum gleichzeitigen Aktualisieren mehrerer Zeilen mit einer einzigen Abfrage. Dieser Ansatz verbessert die Leistung erheblich, insbesondere beim Umgang mit umfangreichen Datensätzen.

Die UPDATE-Anweisung mit der SET-Klausel bietet eine unkomplizierte Methode für bedingte Aktualisierungen. Um beispielsweise column_a basierend auf unterschiedlichen Werten in column_b zu ändern, können Sie diese prägnante Syntax verwenden:

<code class="language-sql">UPDATE table_name
SET column_a = 1 WHERE column_b = '123',
    column_a = 2 WHERE column_b = '345';</code>
Nach dem Login kopieren

Für komplexere Aktualisierungen mit mehreren Spalten bietet das UPDATE ... FROM-Konstrukt jedoch überlegene Flexibilität. Dazu gehört die Erstellung einer temporären Zuordnungstabelle zur Angabe der Aktualisierungen.

Lassen Sie uns dies anhand eines Beispiels veranschaulichen, bei dem sowohl column_a als auch column_c basierend auf column_b:

aktualisiert werden
<code class="language-sql">UPDATE test AS t
SET column_a = c.column_a,
    column_c = c.column_c
FROM (VALUES
    ('123', 1, '---'),
    ('345', 2, '+++')
) AS c(column_b, column_a, column_c)
WHERE c.column_b = t.column_b;</code>
Nach dem Login kopieren

Diese Abfrage nutzt eine VALUES-Klausel, um die Zuordnungstabelle c zu definieren und neue Werte effektiv mit vorhandenen Zeilen in test basierend auf übereinstimmenden column_b-Werten zu verknüpfen. Dieser optimierte Ansatz ermöglicht effiziente, mehrspaltige Aktualisierungen innerhalb einer einzigen Abfrage.

Das obige ist der detaillierte Inhalt vonWie kann ich mehrere Zeilen in PostgreSQL mit einer einzigen Abfrage 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