본문으로 건너뛰기
recursive_worktable_factor

recursive_worktable_factor

버전기본값context타입
1510userstring
1610userstring
1710userstring
1810userstring
1910userstring

recursive query(WITH RECURSIVE)의 working table 평균 크기를, 쿼리의 초기 non-recursive term 추정 크기의 몇 배로 볼지 planner에 알려준다. 기본값은 10.0이다.

recursive query는 non-recursive term의 결과로 working table을 채운 뒤, recursive term을 반복 적용하며 working table을 갱신해 나간다. planner는 이 working table을 쿼리의 다른 테이블과 join할 방법을 정해야 하는데, working table의 크기는 실행해 보기 전에는 알 수 없으므로 이 파라미터의 배수로 추정한다.

재귀 한 단계에서 다음 단계로 넘어갈 때 row가 크게 불어나지 않는(fan-out이 낮은) 쿼리 — 최단 경로 탐색이 대표적이다 — 에서는 1.0 같은 작은 값이 더 정확한 추정을 준다. 반대로 그래프 분석처럼 단계마다 결과가 크게 불어나는 쿼리는 기본값보다 큰 값이 도움이 될 수 있다.

출처: PostgreSQL 18 문서