그GEQO모듈 접근 롤 토토 최적화 문제는 마치 잘 알려진 문제인 것처럼 보입니다. 여행하는 세일즈맨 문제(TSP). 가능한 쿼리 계획은 다음과 같이 인코딩됩니다. 정수 문자열. 각 문자열은 하나의 조인 순서를 나타냅니다. 쿼리와 다음 쿼리의 관계 예를 들어 조인 트리
/\ /\ 2 /\ 3 4 1
은 정수 문자열 '4-1-3-2'로 인코딩됩니다. 즉, 먼저 관계 '4'와 '1'을 결합한 다음 '3', 그 다음 '2'를 조인합니다. 여기서 1, 2, 3은 4는 내의 관계 ID입니다.포스트그레SQL최적화기.
특정 특성GEQO구현포스트그레SQL다음은:
a의 사용법정상 상태 GA(대체 전체 세대가 아닌 인구 집단에서 가장 적합하지 않은 개인 대체) 향상된 롤 토토로의 빠른 수렴을 허용합니다. 계획. 이는 합리적인 롤 토토 처리에 필수적입니다. 시간;
사용법에지 재결합 크로스오버특히 가장자리 손실을 유지하는 데 적합합니다. 의 솔루션에 대해서는 낮습니다.TSPa를 통해GA;
유전 연산자로서의 돌연변이는 더 이상 사용되지 않으므로 법적 생성을 위해서는 수리 메커니즘이 필요합니다.TSP투어.
의 일부GEQO모듈 D. Whitley의 Genitor 알고리즘을 적용했습니다.
그GEQO모듈은 다음을 허용합니다PostgreSQL쿼리 최적화 프로그램 포괄적이지 않은 방식을 통해 대규모 조인 쿼리를 효과적으로 지원 검색하세요.
그GEQO계획 프로세스 표준 플래너 코드를 사용하여 스캔 계획을 생성합니다. 개인적인 관계. 그런 다음 다음을 사용하여 가입 계획을 개발합니다. 유전적 접근. 위와 같이 각 후보 조인 계획은 다음과 같습니다. 기본 관계를 결합하는 순서로 표시됩니다. 초기 단계에서는GEQO코드는 단순히 가능한 일부를 생성합니다. 시퀀스를 무작위로 결합합니다. 고려된 각 조인 순서에 대해 비용을 추정하기 위해 표준 플래너 코드가 호출됩니다. 해당 조인 시퀀스를 사용하여 쿼리를 수행합니다. (각 단계마다 조인 시퀀스에서 가능한 세 가지 조인 전략은 모두 다음과 같습니다. 고려; 그리고 처음에 결정된 모든 관계 스캔 계획을 사용할 수 있습니다. 예상 비용은 다음 중 가장 저렴합니다. 이러한 가능성이 있습니다.) 예상 비용이 더 낮은 시퀀스 조인 고려됩니다"더 적합함"저것보다 더 높은 비용으로. 유전 알고리즘은 최소 적합도를 버립니다. 후보자. 그런 다음 결합하여 새로운 후보가 생성됩니다. 더 적합한 후보자의 유전자 — 즉, 알려진 저비용 조인 시퀀스 중 무작위로 선택된 부분 고려할 새 시퀀스를 만듭니다. 이 과정은 미리 설정된 수의 조인 시퀀스가 완료될 때까지 반복됩니다. 고려; 그런 다음 그 기간 동안 언제든지 발견된 최고의 것 검색은 완성된 계획을 생성하는 데 사용됩니다.
이 프로세스는 본질적으로 비결정적입니다. 초기 모집단 기간 동안 무작위 선택이 이루어졌습니다. 선택 및 후속"돌연변이"최고의 후보자들. 따라서 다른 계획을 선택할 수 있습니다 한 실행에서 다음 실행으로 인해 실행 시간이 달라지고 다양한 출력 행 순서.
유전자 알고리즘을 개선하려면 여전히 작업이 필요합니다.
매개변수 설정. 파일에 있음src/backend/optimizer/geqo/geqo_main.c,
루틴gimme_pool_size그리고gimme_number_세대, 우리는
두 가지를 만족시키기 위해 매개변수 설정에 대한 절충안을 찾으려면
경쟁 요구 사항:
롤 토토 계획의 최적화
컴퓨팅 시간
현재 구현에서는 각 후보자의 적합성이 조인 순서는 표준 플래너를 실행하여 추정됩니다. 선택 및 비용 견적 코드를 처음부터 조인하세요. 에 서로 다른 후보자가 유사한 하위 시퀀스를 사용하는 정도 합류하면 엄청난 양의 작업이 반복됩니다. 이것은 비용 추정치를 유지함으로써 훨씬 더 빠르게 작업을 수행할 수 있습니다. 하위 조인. 문제는 무리한 지출을 피하는 것이다. 해당 상태를 유지하는 데 필요한 메모리 양입니다.
보다 기본적인 수준에서는 쿼리 해결이 명확하지 않습니다. TSP용으로 설계된 GA 알고리즘을 이용한 최적화는 적절하다. TSP의 경우, 모든 것과 관련된 비용 하위 문자열(부분 둘러보기)은 나머지 문자열과 독립적입니다. 투어이지만 쿼리 최적화의 경우에는 확실히 그렇지 않습니다. 따라서 에지 재결합 크로스오버가 적합한지 여부는 의문스럽습니다. 가장 효과적인 돌연변이 절차입니다.