이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
다음에 대한 동일한 페이지를 보고 싶을 수도 있습니다.PostgreSQL : 문서 : 17 : 60.3. PostgreSQL의 유전자 쿼리 최적화 (토토 사이트)버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

48.3. 유전자 쿼리 최적화(GEQO) PostgreSQL에서

GEQO모듈이 의도된 것입니다. 토토 핫 최적화 문제의 해결을 위해 여행하는 세일즈맨 문제(TSP). 가능한 쿼리 계획은 다음과 같이 인코딩됩니다. 정수 문자열. 각 문자열은 하나의 조인 순서를 나타냅니다. 쿼리와 다음 쿼리의 관계 예를 들어 쿼리 트리

   /\
  /\ 2
 /\ 3
4  1

은 정수 문자열 '4-1-3-2'로 인코딩됩니다. 즉, 먼저 관계 '4'와 '1'을 결합한 다음 '3', 그 다음 '2'를 조인합니다. 여기서 1, 2, 3은 4는 내의 관계 ID입니다.포스트그레SQL최적화기.

의 일부GEQO모듈 D. Whitley의 Genitor 알고리즘을 적용했습니다.

특정 특성GEQO구현PostgreSQL다음은:

  • a의 사용법정상 상태 GA(대체 전체 세대가 아닌 인구 집단에서 가장 적합하지 않은 개인 대체) 향상된 토토 핫로의 빠른 수렴을 허용합니다. 계획. 이는 합리적인 토토 핫 처리에 필수적입니다. 시간;

  • 사용법에지 재결합 크로스오버특히 가장자리 손실을 유지하는 데 적합합니다. 의 솔루션에 대해서는 낮습니다.TSPa를 통해GA;

  • 유전 연산자로서의 돌연변이는 더 이상 사용되지 않습니다. 법적 생성을 위해서는 수리 메커니즘이 필요합니다.TSP투어.

GEQO모듈은 다음을 허용합니다PostgreSQL쿼리 최적화 프로그램 포괄적이지 않은 방식을 통해 대규모 조인 쿼리를 효과적으로 지원 검색하세요.

48.3.1. 에 대한 향후 구현 작업포스트그레SQL GEQO

유전자 알고리즘을 개선하려면 여전히 작업이 필요합니다. 매개변수 설정. 파일에 있음백엔드/최적화/geqo/geqo_params.c, 루틴gimme_pool_size그리고gimme_number_세대, 우리는 두 가지 경쟁을 만족시키기 위해 매개변수 설정을 타협했습니다. 요구사항:

  • 토토 핫 계획의 최적화

  • 컴퓨팅 시간