본문으로 건너뛰기
enable_distinct_reordering

enable_distinct_reordering

버전기본값context타입
18onuserboolean
19onuserboolean

planner가 DISTINCT key의 순서를 입력 경로의 정렬 순서(pathkeys)에 맞춰 재배열할 수 있게 할지 정한다. 기본값은 on이다. PostgreSQL 18에서 추가됐다.

SELECT DISTINCT를 정렬 기반으로 처리할 때 DISTINCT 컬럼들을 어떤 순서로 비교하든 결과는 같다. 이 점을 이용해 planner는 DISTINCT key 순서를 하위 노드(예: index scan)가 이미 제공하는 정렬 순서에 맞춰 바꾸고, 그 덕에 별도의 Sort 노드를 없애거나 incremental sort로 대체한 plan을 만들 수 있다.

운영 노트: 끄는 것은 진단 용도다. DISTINCT 쿼리의 plan이 버전 업그레이드 후 달라졌다면 세션에서 off로 두고 EXPLAIN을 비교해 이 재배열이 원인인지 확인할 수 있다.

출처: PostgreSQL 18 문서