쿼리 스포츠 토토 베트맨를 어느 정도 제어 할 수 있습니다.Join구문. 보려면
예 : 간단한 조인 쿼리에서
선택 *에서 a, b, c에서 a.id = b.id 및 b.ref = c.id;에서 선택하십시오.
스포츠 토토 베트맨는 주어진 테이블에 어떤 순서로든 자유롭게 참여할 수 있습니다. 을 위한여기서조건a.id = b.id, 그런 다음 C를 결합하여 합류했습니다여기서조건.여기서최적화를 허용하기위한 조항PostgreSQL실행자는 두 입력 사이에 발생합니다
쿼리에 2 ~ 3 개의 테이블 만 포함되면PostgreSQL스포츠 토토 베트맨가 전환됩니다genetic제한된 수의 가능성을 통한 확률 검색.geqo_threshold런타임 매개 변수.) 유전자
쿼리에 외부 조인이 포함되면 스포츠 토토 베트맨는 훨씬 적습니다.
선택 * 왼쪽 조인 (b 조인 c On (b.ref = c.id)) on (a.id = b.id);
이 쿼리의 제한은 피상적으로 유사하지만
명시 적 내부 조인 구문 (내부, 크로스 조인또는 undornedJoin)는 의미 적으로 동일합니다FromPostgreSQL쿼리Joins as
선택 *에서 a, b, c에서 a.id = b.id 및 b.ref = c.id;
그러나 우리가 스포츠 토토 베트맨에게 명예를 명예라고 말하면Join순서, 두 번째와 세 번째는 시간이 줄어 듭니다
스포츠 토토 베트맨가 강제로Join내부 조인 주문, 설정join_collapse_limit런타임 매개 변수 1.
조인 순서를 완전히 제한 할 필요가 없습니다.Join평원 항목 내의 운영자From목록. 예를 들어, 고려
선택 *에서 크로스 조인 B, C, D, E WHERE ...;에서 선택하십시오.
withjoin_collapse_limit= 1, 이것은
이러한 방식으로 스포츠 토토 베트맨의 검색을 제한하는 것은 유용합니다.Join구문 --- 당신이 알고 있다고 가정합니다
계획 시간에 영향을 미치는 밀접하게 관련된 문제는 다음과 같습니다
선택 *
이 상황은select규칙이 될 것입니다
선택 *에서 x, y, a, b, c 위치와 무언가 else;
이것은 일반적으로 계획보다 더 나은 계획을 초래합니다.여기서조건은 x를 결합하는 것일 수 있습니다from_collapse_limit From항목은 부모가됩니다
from_collapse_limitandjoin_collapse_limit비슷하게 명명되었습니다"평평한"subselects 및 thejoin_collapse_limit동일from_collapse_limit(따라서 명백한 조인 및join_collapse_limit~ 1 (제어하려는 경우