모든 관계 연산자 중에서 처리하고 최적화하기 가장 어려운 것은입니다.Join. 가능한 쿼리 계획의 수는 쿼리의 조인 수에 따라 기하 급수적으로 증가합니다. 추가 최적화 노력은 다양한 지원으로 인해 발생합니다Methods 조인(예 : 중첩 루프, 해시 조인, Merge join inPostgreSQL) 개별 조인 및 다양성을 처리하려면인덱스(예 : B-Tree, Hash, Gist 및 Gin inPostgreSQL) 관계에 대한 액세스 경로로서.
정상PostgreSQLQuery Optimizer 수행 a근접한 검색대체 전략의 공간에 대한. IBM의 시스템 R 데이터베이스에 처음 소개 된이 알고리즘은 거의 최적의 조인 순서를 생성하지만 쿼리의 조인 횟수가 커지면 엄청난 시간과 메모리 공간이 걸릴 수 있습니다. 이것은 평범한PostgreSQL많은 수의 테이블에 합류하는 스포츠 토토 베트맨에 부적합한 스포츠 토토 베트맨 최적화 제.
독일 프라이 버그에있는 광업 기술 대학의 자동 제어 연구소는 사용하고 싶을 때 몇 가지 문제가 발생했습니다PostgreSQL전력망 유지를위한 의사 결정 지원 지식 기반 시스템의 백엔드로서. DBM은 지식 기반 시스템의 추론 기계에 대한 대규모 결합 쿼리를 처리해야했습니다. 이 쿼리에서 조인 수는 일반 쿼리 최적화를 사용하여 만들어 져 있습니다.
다음에서 우리는 a의 구현에 대해 설명합니다.유전자 알고리즘많은 수의 조인과 관련된 스포츠 토토 베트맨에 효율적인 방식으로 조인 순서 문제를 해결하려면