Maison >base de données >tutoriel mysql >Comment puis-je mettre à jour efficacement plusieurs lignes simultanément dans PostgreSQL ?
Optimisation des mises à jour multi-lignes PostgreSQL
La mise à jour efficace de nombreuses lignes dans PostgreSQL est cruciale pour la gestion des bases de données. Tandis que les instructions UPDATE individuelles fonctionnent, PostgreSQL propose des méthodes plus efficaces pour les mises à jour par lots.
Une approche utilise la syntaxe UPDATE ... SET
avec plusieurs clauses WHERE
:
<code class="language-sql">UPDATE table SET column_a = 1 WHERE column_b = '123', column_a = 2 WHERE column_b = '345';</code>
Cependant, cette méthode manque de flexibilité pour les mises à jour complexes sur plusieurs colonnes.
Une approche supérieure exploite la syntaxe UPDATE ... FROM
avec une table de valeurs :
<code class="language-sql">UPDATE test AS t SET column_a = c.column_a FROM (VALUES ('123', 1), ('345', 2) ) AS c(column_b, column_a) WHERE c.column_b = t.column_b;</code>
Cette technique gère facilement les mises à jour multi-colonnes :
<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>
Ces techniques avancées améliorent considérablement les performances de mise à jour par lots dans PostgreSQL, réduisant le temps d'exécution et simplifiant la maintenance de la base de données.
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!