enable_hashjoin
planner가 hash join plan을 후보로 고려할지 정합니다. 기본값은 on입니다.
hash join은 한쪽 입력(보통 작은 쪽)으로 hash table을 만들고 다른 쪽 입력을 읽으며 대조하는 방식입니다. 등호 조건(equi-join)에서 큰 테이블끼리 join할 때 대체로 가장 빠른 선택지이며 입력 정렬도 필요 없습니다. 다만 hash table이 work_mem × hash_mem_multiplier 한도를 넘으면 batch로 쪼개 디스크를 오가므로 메모리 설정의 영향을 크게 받습니다.
노트
운영 노트: planner가 hash join을 고른 쿼리에서 세션 단위로 끄면 merge join이나 nested loop로 우회한 plan의 cost와 실제 실행 시간을 비교할 수 있습니다. 전역으로 끄는 것은 피합니다.
출처: PostgreSQL 18 문서