最佳化 PostgreSQL 多行更新
高效更新 PostgreSQL 中的大量行對於資料庫管理至關重要。 雖然單獨的 UPDATE 語句有效,但 PostgreSQL 提供了更有效的批次更新方法。
一種方法使用具有多個 UPDATE ... SET
子句的 WHERE
語法:
<code class="language-sql">UPDATE table SET column_a = 1 WHERE column_b = '123', column_a = 2 WHERE column_b = '345';</code>
但是,這種方法缺乏跨多列的複雜更新的彈性。
一種進階方法利用 UPDATE ... FROM
語法和值表:
<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>
這種技術可以輕鬆處理多列更新:
<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>
這些先進技術顯著提高了 PostgreSQL 中的批量更新效能,減少了執行時間並簡化了資料庫維護。
以上是PostgreSQL 如何有效率並發更新多行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!