큰Join컴퓨팅을 쿼리합니다 유전자 쿼리 최적화에 소요되는 시간은 단순한 것 같습니다fraction의 시간무지개 토토루틴을 통한 메모리 해방 필요MemoryContextFree, 파일백엔드/utils/mmgr/mcxt.c. 디버깅은 그 사실을 보여주었습니다 일상적인 루프에 갇히게됩니다OrderedElempop, 파일백엔드/utils/mmgr/oset.c. 같은 문제가 발생합니다 정상을 사용할 때 긴 쿼리로무지개 토토쿼리 최적화 알고리즘.
파일백엔드/최적화/geqo/geqo_params.c, 루틴gimme_pool_sizeandgimme_number_generations, 우리는 a를 찾아야합니다 두 가지 경쟁을 만족시키기위한 매개 변수 설정에 대한 타협 요구 :
쿼리 계획의 최적 성
컴퓨팅 시간
파일Backend/Optimizer/GEQO/GEQO_EVAL.C, 루틴geqo_joinrel_size, 현재 해킹 Maxint Overflow는를 설정하는 것입니다.무지개 토토정수 값rel- size로그에. 수정 의Relin백엔드/노드/관계 .h반드시 심각합니다 전체에 미치는 영향무지개 토토구현.
10 개 이상의 관계에서 메모리 소진이 발생할 수 있습니다. 쿼리에서. 파일백엔드/최적화/geqo/geqo_eval.c, 루틴gimme_tree재귀 적으로 호출됩니다. 어쩌면 나 정확하게 풀어야 할 것을 잊어 버렸습니다. 물론 그만큼Rel의 데이터 구조Join계속 성장하고 성장하고 있습니다 관계가 포장되어 있습니다. 제안은 환영합니다 :-(