쿼리, 테이블, 뷰

PostgreSQL에서 쿼리 성능 개선하기

Amy McCarty

Instructor

쿼리

 

SELECT *
FROM ...
  • 테이블
    • 기본 테이블
    • 임시 테이블
    • 머티리얼라이즈드 뷰
PostgreSQL에서 쿼리 성능 개선하기

기본 테이블

 

설명 체계적 저장소
포함 데이터
적재 추출-변환-적재(ETL) 프로세스
소스 인사 시스템, 고객 관리, 설문 수집 등
PostgreSQL에서 쿼리 성능 개선하기

임시 테이블

 

설명 체계적(행/열) 저장소
포함 데이터
적재 쿼리(일시적)
소스 기존 기본 테이블

 

CREATE TEMP TABLE my_temptable AS 
SELECT * 
FROM survey_monkey_results
WHERE survey_date >= '2019-01-01';

SELECT * FROM my_temptable
PostgreSQL에서 쿼리 성능 개선하기

표준 뷰

 

설명 저장된 쿼리
포함 지시문/뷰 정의
적재 없음
소스 기존 기본 테이블

 

뷰의 용도

  • 자주 조인하는 테이블 결합
  • 계산 열
    • 요약 지표
  • 테이블의 일부만 표시
    • 직원은 보이고 급여는 숨김
PostgreSQL에서 쿼리 성능 개선하기

머티리얼라이즈드 뷰

 

설명 저장된 쿼리 _뷰_
포함 데이터 테이블
적재 갱신 프로세스 테이블
소스 기존 기본 테이블 _뷰_

머티리얼라이즈드 뷰의 용도

  • 뷰와 동일
    • 더 빠름
PostgreSQL에서 쿼리 성능 개선하기

FROM 절 참조 요약

무엇
테이블 기본 저장소
임시 테이블 큰 테이블 쿼리 가속
복잡한 로직·계산 필드
머티리얼라이즈드 뷰 성능을 느리게 하는 복잡한 로직
PostgreSQL에서 쿼리 성능 개선하기

Information schema

  • 데이터베이스 메타데이터 제공
  • 많은 DB에 존재
    • PostgreSQL, SQL Server, MySQL

 

SELECT table_type 
FROM information_schema.tables 
WHERE table_catalog = 'orders_schema' 
AND table_name = 'customer_table'

 

 

 

  • BASE TABLE : 기본 테이블
  • LOCAL TEMPORARY : 임시 테이블
  • VIEW : 뷰 또는 머티리얼라이즈드 뷰
PostgreSQL에서 쿼리 성능 개선하기

연습해 봅시다!

PostgreSQL에서 쿼리 성능 개선하기

Preparing Video For Download...