> 데이터 베이스 > MySQL 튜토리얼 > 단일 쿼리를 사용하여 PostgreSQL에서 여러 행을 효율적으로 업데이트하려면 어떻게 해야 합니까?

단일 쿼리를 사용하여 PostgreSQL에서 여러 행을 효율적으로 업데이트하려면 어떻게 해야 합니까?

DDD
풀어 주다: 2025-01-12 22:46:44
원래의
424명이 탐색했습니다.

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

PostgreSQL의 단일 쿼리 업데이트: 성능 향상

많은 데이터베이스 시스템과 마찬가지로 PostgreSQL은 단일 쿼리를 사용하여 여러 행을 동시에 업데이트하는 효율적인 방법을 제공합니다. 이 접근 방식은 특히 상당한 데이터 세트를 처리할 때 성능을 크게 향상시킵니다.

UPDATE 절이 있는 SET 문은 조건부 업데이트를 위한 간단한 방법을 제공합니다. 예를 들어 column_a의 다른 값을 기반으로 column_b을 수정하려면 다음과 같은 간결한 구문을 사용할 수 있습니다.

<code class="language-sql">UPDATE table_name
SET column_a = 1 WHERE column_b = '123',
    column_a = 2 WHERE column_b = '345';</code>
로그인 후 복사

그러나 여러 열이 포함된 보다 복잡한 업데이트의 경우 UPDATE ... FROM 구문이 탁월한 유연성을 제공합니다. 여기에는 업데이트를 지정하기 위한 임시 매핑 테이블을 구성하는 작업이 포함됩니다.

column_a:column_c를 기반으로 column_b

을 모두 업데이트하는 예를 들어 설명하겠습니다.
<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>
로그인 후 복사

이 쿼리는 VALUES 절을 활용하여 매핑 테이블 c을 정의하고, 일치하는 test 값을 기반으로 새 값을 column_b의 기존 행에 효과적으로 연결합니다. 이러한 간소화된 접근 방식을 통해 단일 쿼리 내에서 효율적인 다중 열 업데이트가 가능합니다.

위 내용은 단일 쿼리를 사용하여 PostgreSQL에서 여러 행을 효율적으로 업데이트하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿