jit_optimize_above_cost
| 버전 | 기본값 | context | 타입 |
|---|---|---|---|
| 14 | 500000 | user | string |
| 15 | 500000 | user | string |
| 16 | 500000 | user | string |
| 17 | 500000 | user | string |
| 18 | 500000 | user | string |
| 19 | 500000 | user | string |
쿼리 추정 비용이 이 값을 넘으면 JIT compilation이 비용이 큰 최적화 패스를 적용한다. 기본값은 500000이고, -1로 설정하면 이 최적화가 비활성화된다.
여기서 말하는 최적화는 LLVM의 무거운 최적화 단계로, 컴파일(planning) 시간을 더 쓰는 대신 생성되는 네이티브 코드의 실행 속도를 높인다. jit_above_cost(기본 100000)를 넘어 JIT가 켜진 쿼리 중에서도 충분히 비싼 쿼리에만 적용하도록 기본값이 한 단계 높게 잡혀 있다.
jit_above_cost보다 낮게 설정하는 것은 의미가 없고, jit_inline_above_cost보다 높게 설정하는 것도 이득이 되기 어렵다. 세 임계값의 관계는 jit 항목에 정리되어 있다.
출처: PostgreSQL 18 문서