쿼리를 날려보냈을때 가장 직관적으로 성능을 파악하는 방법을 시간을 재는것이다.
그러나, 테스트 단계 및 프로덕트 초기 단계에선 테이블 데이터가 별로 없어서 가시적인 차이가 나지 않기도 하고
각 테이블 로우 수의 차이에 따라서도 시간이 달라지기 때문에, 쿼리문의 성능을 예측할 수 있는 다른 방법이 필요하다.
EXPLAIN문, 실행계획이라고도 불리는 쿼리 문법은 정통 SQL에서부터 사용되어져 왔으며,
특히 Postgres 는 Using EXPLAIN 문서를 두어 EXPLAIN문 사용법과 기본 원리는 정리, 제공한다.
사용 방법 자체는 간단하다.
postgresql console에서 쿼리문 앞에 EXPLAIN 을 붙여 실행하면 된다.
// 예시
EXPLAIN SELECT sp.posting_type,
sp.posting_title,
sam.applicant_key,
sam.site_key,
sap.site_key,
sam.memo,
sam.deleted
FROM std_applicant sap
INNER JOIN std_applicant_memo sam on sam.applicant_key = sap.applicant_key
INNER JOIN std_posting sp on sap.posting_key = sp.posting_key
WHERE
sap.account_key = 1
AND sap.site_key = 1
AND sam.site_key = 1
AND sam.site_user_account_key = 1
;
EXPLAIN 이란 것에 대해 알게된 시간!