parallel_setup_cost
| 버전 | 기본값 | context | 타입 |
|---|---|---|---|
| 14 | 1000 | user | string |
| 15 | 1000 | user | string |
| 16 | 1000 | user | string |
| 17 | 1000 | user | string |
| 18 | 1000 | user | string |
| 19 | 1000 | user | string |
parallel worker process를 기동하는 비용을 planner가 얼마로 추정할지 정한다. 기본값은 1000이다.
parallel plan은 worker 기동, 공유 메모리 준비, 결과 수집이라는 고정 비용을 쿼리마다 치른다. 이 파라미터는 그 고정 비용을 비용 모델에 반영하는 손잡이로, 값이 클수록 planner는 짧은 쿼리에 parallel plan을 덜 고르고, 작을수록 더 적극적으로 고른다.
row 단위 전송 비용을 모델링하는 parallel_tuple_cost, 크기 문턱인 min_parallel_table_scan_size와 함께 parallel plan 채택 성향을 결정한다.
운영 노트: 특정 쿼리가 parallel plan을 타는지 실험할 때 세션에서
parallel_setup_cost와 parallel_tuple_cost를 0 근처로 낮춰 parallel plan을 유도해 보는 기법이 흔하다. 어디까지나 진단용이며, 전역 설정으로 낮추면 짧은 쿼리까지 worker 기동 비용을 치르게 되므로 부적절하다.출처: PostgreSQL 18 문서