> 데이터 베이스 > MySQL 튜토리얼 > PostgreSQL에서 계산 열을 어떻게 에뮬레이션할 수 있나요?

PostgreSQL에서 계산 열을 어떻게 에뮬레이션할 수 있나요?

Linda Hamilton
풀어 주다: 2025-01-21 17:12:17
원래의
487명이 탐색했습니다.

How Can I Emulate Computed Columns in PostgreSQL?

PostgreSQL 내에서 계산 열 시뮬레이션

MS SQL Server와 달리 PostgreSQL은 기본적으로 계산 열을 지원하지 않습니다. 그러나 여러 가지 방법으로 이 기능을 효과적으로 복제할 수 있습니다.

PostgreSQL 12 이상

PostgreSQL 12에는 SQL Server의 계산 열 동작을 미러링하는 STORED 생성 열이 도입되었습니다. 이러한 열은 테이블 내에 물리적으로 저장되며 쿼리 중에 쉽게 액세스할 수 있습니다.

<code class="language-sql">CREATE TABLE tbl (
  int1    int,
  int2    int,
  product bigint GENERATED ALWAYS AS (int1 * int2) STORED
);</code>
로그인 후 복사

PostgreSQL 11 이하

이전 PostgreSQL 버전의 경우 가상 생성 열을 시뮬레이션하려면 함수와 속성 표기법이 필요합니다.

함수 구문:

<code class="language-sql">CREATE FUNCTION col(tbl) RETURNS type AS 'expression';</code>
로그인 후 복사

사용법:

<code class="language-sql">SELECT tbl.col, ... FROM tbl;</code>
로그인 후 복사

이 접근 방식은 가상 생성 열을 모방합니다. 그러나 SELECT *에는 포함되지 않습니다.

대체 접근 방식

  • 뷰: 계산된 열을 통합하는 뷰를 구성합니다. SELECT *을 사용하면 원본 열과 계산된 열을 모두 검색할 수 있습니다.
  • 트리거: 소스 열이 변경될 때마다 계산 열을 자동으로 업데이트하는 트리거를 만들어 영구 계산 열을 구현합니다.
  • 구체화된 뷰: 자주 쿼리되는 계산 열의 경우 구체화된 뷰는 결과를 미리 계산하고 저장하여 성능을 최적화합니다.

중요 고려 사항:

  • STORED 생성 열(PostgreSQL 12)은 SELECT *에 포함되어 있습니다.
  • 가상 생성 열을 에뮬레이션하는 함수는 표현식 인덱스를 활성화하려면 IMMUTABLE으로 정의되어야 합니다.
  • 구체화된 뷰는 자주 액세스해야 하는 영구 계산 열에 이상적입니다.

위 내용은 PostgreSQL에서 계산 열을 어떻게 에뮬레이션할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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