그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쿼리 최적화 프로그램 포괄적이지 않은 방식을 통해 대규모 조인 쿼리를 효과적으로 지원 검색하세요.
유전자 알고리즘을 개선하려면 여전히 작업이 필요합니다.
매개변수 설정. 파일에 있음백엔드/최적화/geqo/geqo_params.c, 루틴gimme_pool_size그리고gimme_number_세대, 우리는
두 가지 경쟁을 만족시키기 위해 매개변수 설정을 타협했습니다.
요구사항:
토토 핫 계획의 최적화
컴퓨팅 시간