geqo_pool_size
| 버전 | 기본값 | context | 타입 |
|---|---|---|---|
| 14 | — | user | integer |
| 15 | — | user | integer |
| 16 | — | user | integer |
| 17 | — | user | integer |
| 18 | — | user | integer |
| 19 | — | user | integer |
GEQO가 사용하는 pool 크기, 즉 유전 알고리즘 population의 개체 수를 정한다. 기본값은 0이다.
PostgreSQL은 FROM 항목이 많은 쿼리에서 가능한 join 순서를 전부 따져보는 대신 genetic query optimizer(GEQO)를 사용한다. GEQO는 유전 알고리즘으로 join 순서 탐색 공간을 확률적으로 탐색해, 최적 plan 보장을 포기하는 대신 planning 시간을 억제한다. pool의 각 개체는 하나의 join 순서 후보에 해당하며, pool이 클수록 한 세대에서 더 많은 후보를 유지한다.
최소값은 2이고 유용한 값은 대체로 100에서 1000 사이다. 기본값 0으로 두면 geqo_effort와 쿼리의 테이블 수를 바탕으로 적절한 값이 자동으로 정해지므로, 보통은 이 파라미터를 직접 만지기보다 geqo_effort를 조정한다.
출처: PostgreSQL 18 문서