FAQ - AWS 권장 가이드

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

FAQ

쿼리 성능 조정과 관련하여 자주 제기되는 질문에 대한 답변을 찾아보세요.

EXPLAIN이란 무엇입니까?

EXPLAIN쿼리 계획을 생성하기 위해 PostgreSQL 쿼리 (SELECT,,UPDATE,INSERT) 앞에 추가하는 키워드입니다. DELETE PostgreSQL 쿼리 계획은 데이터베이스에서 쿼리를 실행하려는 방법을 자세히 설명합니다. 이 계획에는 테이블 스캔 순서, 인덱스 사용 및 조인에 대한 정보가 포함됩니다.

쿼리 계획을 사용하여 잠재적 병목 현상을 식별하고, 쿼리를 최적화하고, 전반적인 성능을 개선할 수 있습니다. 쿼리 계획을 검토할 때는 다음 요소를 고려하세요.

  • 테이블 액세스 접근 방식

  • 조인 접근법

  • 필터 조건

  • 정렬 작업

  • 인덱스 사용

  • Parallelism

  • Statistics

  • 비용 추정

  • 각 단계에서 검색된 행

  • 데이터 분산

EXPLAIN에 대한 자세한 내용은 PostgreSQL 설명서를 참조하십시오.

EXPLAIN ANALYZE는 무엇입니까?

쿼리를 앞에 추가하고 EXPLAIN ANALYZE 쿼리를 실행하면 PostgreSQL은 쿼리를 실행하고 쿼리 계획과 런타임 통계를 모두 반환합니다. 실제 런타임, 각 단계에서 처리된 행 및 기타 관련 정보가 쿼리 계획과 함께 표시됩니다. 쿼리를 실행하면 분석 중에 데이터베이스 성능에 영향을 미칠 수 있으므로 프로덕션 데이터베이스에서 사용할 EXPLAIN ANALYZE 때는 주의해야 합니다.

EXPLAIN ANALYZE에 대한 자세한 내용은 PostgreSQL 설명서를 참조하십시오.

PostgreSQL에서 데이터 정렬이란 무엇입니까?

PostgreSQL에서 데이터 정렬은 문자열을 비교하고 정렬하는 방법을 결정하는 일련의 규칙입니다. 데이터 정렬은 언어별 규칙 및 변환을 고려하여 비교 시 문자를 고려하는 순서를 정의합니다.

데이터 정렬에 대한 자세한 내용은 PostgreSQL 설명서를 참조하십시오.

CTE란 무엇입니까?

PostgreSQL 데이터베이스에서 CTE (공용 테이블 표현식) 는 참조할 수 있는 이름이 지정된 임시 결과 집합입니다. CTE를 사용하면 복잡한 논리를 더 작고 이름이 지정된 단위로 세분화하여 가독성이 뛰어난 모듈식 SQL 쿼리를 만들 수 있습니다.

CTE에 대한 자세한 내용은 PostgreSQL 설명서를 참조하십시오.

PostgreSQL의 함수 카테고리는 무엇입니까?

모든 PostgreSQL 함수에는 변동성 분류가 있으며, 가능성은 다음과 같습니다. VOLATILE STABLE IMMUTABLE

  • VOLATILEVOLATILE 함수는 데이터베이스 수정을 비롯한 모든 작업을 수행할 수 있습니다. 동일한 인수를 연속해서 호출하면 다른 결과를 반환할 수 있습니다. 옵티마이저는 이러한 함수의 동작을 가정하지 않습니다. 휘발성 함수를 사용하는 쿼리는 해당 값이 필요한 모든 행에서 함수를 재평가합니다.

  • STABLESTABLE 함수는 데이터베이스를 수정할 수 없습니다. 단일 명령문 내의 모든 행에 대해 동일한 인수를 지정하면 동일한 결과를 반환할 수 있습니다. 이 분류를 사용하면 최적화 프로그램이 함수의 여러 호출을 단일 호출로 최적화할 수 있습니다. 특히 인덱스 스캔 조건에서는 이러한 함수가 포함된 식을 사용하는 것이 안전합니다. (인덱스 스캔은 비교 값을 각 행에서 한 번만 평가하는 것이 아니라 한 번만 평가하므로 인덱스 스캔 조건에서 VOLATILE 함수를 사용하는 것은 유효하지 않습니다.)

  • 불변성IMMUTABLE 함수는 데이터베이스를 수정할 수 없으며 동일한 인수가 주어지면 영원히 동일한 결과를 반환할 수 있습니다. 이 분류를 사용하면 쿼리가 상수 인수를 사용하여 함수를 호출할 때 최적화 프로그램이 함수를 미리 평가할 수 있습니다. 예를 들어 정수 더하기 SELECT ... WHERE x = 4 연산자의 기반이 되는 함수가 표시되므로 와 같은 쿼리는 즉시 단순화할 SELECT ... WHERE x = 2 + 2 수 있습니다. IMMUTABLE

VOLATILECREATE FUNCTION명령에서 범주를 지정하지 않는 경우 기본값입니다. 함수 유형에 대한 자세한 내용은 PostgreSQL 설명서를 참조하십시오.