이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.PostgreSQL : 문서 : 17 : 19.7. 롤 토토 계획버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

17.6. 스포츠 토토 결과 계획

17.6.1. 플래너 방법 구성

이 구성 매개변수는 대략적인 방법을 제공합니다. 쿼리 최적화 프로그램이 선택한 쿼리 계획에 영향을 줍니다. 만약에 특정 쿼리에 대해 최적화 프로그램이 선택한 기본 계획 최적이 아닌 경우 다음 중 하나를 사용하여 임시 솔루션을 찾을 수 있습니다. 최적화 프로그램이 다음을 수행하도록 강제하는 이러한 구성 매개변수 다른 요금제를 선택하세요. 이 설정 중 하나를 끄는 중 그러나 영구적으로 좋은 생각은 거의 없습니다. 더 나은 방법 최적화 프로그램이 선택한 계획의 품질을 향상시킵니다. 조정을 포함합니다.플래너 비용 상수, 실행 중분석더 자주, 증가 의 값default_statistics_target구성 매개변수 및 양 증가 다음을 사용하여 특정 열에 대해 수집된 통계테이블 세트 통계 변경.

enable_bitmapscan (부울)

스포츠 토토 결과 플래너의 사용을 활성화 또는 비활성화합니다. 비트맵 스캔 계획 유형. 기본값은켜짐.

enable_hashagg (부울)

스포츠 토토 결과 플래너의 해시 사용을 활성화 또는 비활성화합니다. 집계 계획 유형. 기본값은켜짐.

enable_hashjoin (부울)

스포츠 토토 결과 플래너의 사용을 활성화 또는 비활성화합니다. 해시 조인 계획 유형. 기본값은켜짐.

enable_indexscan (부울)

스포츠 토토 결과 플래너의 사용을 활성화 또는 비활성화합니다. 인덱스 스캔 계획 유형. 기본값은켜짐.

enable_mergejoin (부울)

스포츠 토토 결과 플래너의 사용을 활성화 또는 비활성화합니다. 병합-조인 계획 유형. 기본값은켜짐.

enable_nestloop (부울)

스포츠 토토 결과 플래너의 사용을 활성화 또는 비활성화합니다. 중첩 루프 조인 계획. 제압이 불가능해요 중첩 루프는 완전히 조인되지만 이 변수는 꺼집니다. 플래너가 다른 것이 있으면 하나를 사용하지 못하게 합니다. 방법을 사용할 수 있습니다. 기본값은켜짐.

enable_seqscan (부울)

스포츠 토토 결과 플래너의 사용을 활성화 또는 비활성화합니다. 순차 스캔 계획 유형. 제압이 불가능해요 순차 스캔은 완전히 수행되지만 이 변수는 꺼집니다. 플래너가 다른 것이 있으면 하나를 사용하지 못하게 합니다. 방법을 사용할 수 있습니다. 기본값은켜짐.

enable_sort (부울)

스포츠 토토 결과 플래너의 사용을 활성화 또는 비활성화합니다. 명시적인 정렬 단계. 제압이 불가능해요 명시적 정렬은 완전히 정렬되지만 이 변수는 꺼집니다. 플래너가 다른 것이 있으면 하나를 사용하지 못하게 합니다. 방법을 사용할 수 있습니다. 기본값은켜짐.

enable_tidscan (부울)

스포츠 토토 결과 플래너의 사용을 활성화 또는 비활성화합니다.TID스캔 계획 유형. 기본값은켜짐.

17.6.2. 플래너 비용 상수

참고:안타깝게도 잘 정의된 항목이 없습니다. 계열의 이상적인 값을 결정하는 방법"비용"나타나는 변수 아래. 실험하고 공유하는 것이 좋습니다. 발견.

유효_캐시_크기 (부동 소수점)

유효 크기에 대한 계획자의 가정을 설정합니다. 단일 인덱스에 사용 가능한 디스크 캐시 스캔. 이는 비용 추정에 반영됩니다. 인덱스 사용; 값이 높을수록 색인 가능성이 높아집니다. 스캔이 사용되며, 값이 낮을수록 그럴 가능성이 높아집니다. 순차 스캔이 사용됩니다. 이것을 설정할 때 매개변수를 모두 고려해야 합니다.PostgreSQL의 공유 버퍼 및 다음 용도로 사용될 커널의 디스크 캐시 부분PostgreSQL데이터 파일. 또한 예상 동시 접속자 수도 고려하세요. 다른 인덱스를 사용하는 스포츠 토토 결과는 사용 가능한 공간을 공유합니다. 이 매개변수는 효과가 없습니다. 할당된 공유 메모리의 크기에 대해PostgreSQL, 예약도 하지 않습니다. 커널 디스크 캐시; 추정에만 사용됩니다. 목적. 값은 디스크 페이지 단위로 측정됩니다. 일반적으로 각각 8192바이트입니다. 기본값은 1000입니다.

random_page_cost (떠다니는 포인트)

계획자의 예상 비용을 설정합니다. 비순차적으로 가져온 디스크 페이지. 이는 다음과 같이 측정됩니다. 순차적 페이지 가져오기 비용의 배수입니다. 더 높은 값을 사용하면 순차 스캔이 수행될 가능성이 높아집니다. 값이 낮을수록 인덱스 스캔이 발생할 가능성이 높아집니다. 사용됩니다. 기본값은 4입니다.

cpu_tuple_cost (떠다니는 포인트)

계획자의 처리 비용 추정치를 설정합니다. 스포츠 토토 결과 중 각 행. 이는 분수로 측정됩니다. 순차적 페이지 가져오기 비용. 기본값은 0.01.

cpu_index_tuple_cost (부동 소수점)

계획자의 처리 비용 추정치를 설정합니다. 인덱스 스캔 중 각 인덱스 행. 이는 다음과 같이 측정됩니다. 순차 페이지 가져오기 비용의 일부입니다. 는 기본값은 0.001입니다.

cpu_operator_cost (떠다니는 포인트)

계획자의 처리 비용 추정치를 설정합니다. a의 각 연산자어디절. 이는 비용의 일부로 측정됩니다. 순차적 페이지 가져오기. 기본값은 0.0025입니다.

17.6.3. 유전자 스포츠 토토 결과 최적화

geqo (부울)

유전자 스포츠 토토 결과 최적화를 활성화 또는 비활성화합니다. 스포츠 토토 결과 계획을 시도하는 알고리즘입니다. 철저한 검색 없이. 이는 기본적으로 켜져 있습니다.geqo_threshold변수는 다음을 제공합니다. 특정 클래스에 대해 GEQO를 비활성화하는 보다 세부적인 방법 검색어입니다.

geqo_threshold (정수)

유전적 쿼리 최적화를 사용하여 다음과 같은 쿼리를 계획하세요. 적어도 이만큼은발신항목 참여. (아우터에 주의하세요.가입구조물은 하나만으로 계산됩니다.발신item.) 기본값은 12입니다. 더 간단한 쿼리의 경우 일반적으로 다음을 사용하는 것이 가장 좋습니다. 결정적이고 철저한 계획자이지만 다음과 같은 쿼리의 경우 결정적 플래너가 너무 오래 걸리는 테이블이 많습니다.

geqo_effort (정수)

계획 시간과 쿼리 간의 균형을 제어합니다. GEQO의 효율성을 계획하세요. 이 변수는 정수여야 합니다. 1~10 범위입니다. 기본값은 5입니다. 값을 설정하면 쿼리 계획에 소요되는 시간이 늘어나지만 또한 효율적인 쿼리 계획이 실행될 가능성도 높아집니다. 선정될 예정입니다.

geqo_effort실제로는 그렇지 않습니다 직접적으로 무엇이든 하십시오. 을 계산하는 데에만 사용됩니다. 영향을 미치는 다른 변수의 기본값 GEQO 동작(아래 설명) 원하시면 가능합니다 대신 다른 매개변수를 직접 설정하세요.

geqo_pool_size (정수)

GEQO가 사용하는 풀 크기를 제어합니다. 수영장 크기는 유전적 집단의 개인 수. 그것 2개 이상이어야 하며 유용한 값은 일반적으로 100입니다. 1000으로. 0(기본 설정)으로 설정된 경우 적절한 기본값은 다음을 기준으로 선택됩니다.geqo_effort및 테이블 수 스포츠 토토 결과입니다.

geqo_세대 (정수)

GEQO가 사용하는 세대 수를 제어합니다. 세대는 반복 횟수를 지정합니다. 알고리즘. 하나 이상이어야 하며 유용한 값은 다음과 같습니다. 풀 크기와 동일한 범위에 있습니다. 0으로 설정된 경우 (기본 설정) 그런 다음 적절한 기본값이 선택됩니다. 기반으로geqo_pool_size.

geqo_selection_bias (부동 소수점)

GEQO가 사용하는 선택 바이어스를 제어합니다. 는 선택 편향은 선택 압력입니다. 인구. 값은 1.50에서 2.00 사이일 수 있습니다. 후자 기본값입니다.

17.6.4. 기타 플래너 옵션

default_statistics_target (정수)

테이블 열에 대한 기본 통계 목표를 설정합니다 다음을 통해 설정된 열별 대상이 없는 경우테이블 세트 통계 변경. 값이 클수록 수행하는 데 필요한 시간이 늘어납니다.분석, 그러나 품질이 향상될 수 있습니다. 기획자의 추정. 기본값은 10입니다. 자세한 내용은 통계 이용에 관한 정보PostgreSQL스포츠 토토 결과 플래너, 참조토토 핫.

constraint_exclusion (부울)

스포츠 토토 결과 플래너의 테이블 사용을 활성화 또는 비활성화합니다. 스포츠 토토 결과를 최적화하기 위한 제약 조건. 기본값은꺼짐.

이 매개변수가 다음과 같은 경우켜짐, 플래너는 스포츠 토토 결과 조건을 테이블과 비교합니다.확인제약 및 생략 조건이 모순되는 스캔 테이블 제약. (현재는 어린이에게만 적용됩니다. 상속 스캔 테이블.) 예:

CREATE TABLE 상위(키 정수, ...);
CREATE TABLE child1000(확인(1000에서 1999 사이의 키)) INHERITS(부모);
CREATE TABLE child2000(확인(2000에서 2999 사이의 키)) INHERITS(부모);
...
SELECT * FROM 상위 WHERE 키 = 2400;

제약조건 제외가 활성화되면 이선택스캔하지 않습니다어린이1000전혀요. 이는 개선될 수 있습니다 분할된 빌드에 상속을 사용할 때의 성능 테이블.

현재,constraint_exclusion다음에 의해 비활성화되었습니다. 쿼리 계획이 있으면 잘못된 결과가 나올 위험이 있으므로 기본값입니다. 캐시됨 - 테이블 제약 조건이 변경되거나 삭제된 경우 이전에 생성된 계획이 이제 잘못되었을 수 있습니다. 재계획을 강제하는 기본 제공 메커니즘은 없습니다. (이 결함은 아마도 향후에 해결될 것입니다.)PostgreSQL출시.) 그것을 유지하는 또 다른 이유는 제약이 있기 때문입니다. 수표는 상대적으로 비싸며, 많은 경우 상황은 저축을 할 수 없습니다. 다음을 권장합니다. 실제로 partitioned를 사용하는 경우에만 이 기능을 켜십시오. 이 기능을 활용하도록 설계된 테이블입니다.

참조사설 토토 사이트 PostgreSQL제약 사용에 대한 자세한 내용은 제외 및 분할.

from_collapse_limit (정수)

플래너는 하위 스포츠 토토 결과를 상위 스포츠 토토 결과로 병합합니다 결과인 경우발신목록은 이만큼의 품목은 없습니다. 값이 작을수록 감소 계획하는 데 시간이 걸리지만 열등한 쿼리 계획이 생성될 수 있습니다. 는 기본값은 8입니다. 일반적으로 이 값을 다음보다 작게 유지하는 것이 좋습니다.geqo_threshold.

join_collapse_limit (정수)

플래너는 명시적인 내부를 다시 작성합니다가입목록으로 구성발신항목 목록이 다음 이하일 때마다 총 이만큼의 항목이 발생합니다. 이전에PostgreSQL7.4, 조인 를 통해 지정됨가입구조물 스포츠 토토 결과 플래너는 절대 순서를 바꾸지 않습니다. 스포츠 토토 결과 이후 플래너가 개선되어 내부 이 형식으로 작성된 조인은 다시 정렬될 수 있습니다. 이 구성 매개변수는 이 범위를 제어합니다. 재정렬이 수행됩니다.

참고:현재 외부 조인 순서는 를 통해 지정됨가입구조는 스포츠 토토 결과 플래너에 의해 조정되지 않습니다. 그러므로,join_collapse_limit다음에 영향을 미치지 않습니다. 이 행동. 플래너가 재정렬되도록 개선될 수 있습니다. 향후 릴리스에서는 외부 조인의 일부 클래스를 제공합니다.PostgreSQL.

기본적으로 이 변수는 다음과 동일하게 설정됩니다.from_collapse_limit입니다. 대부분의 용도에 적합합니다. 1로 설정하면 내부 재정렬가입s. 따라서, 쿼리에 지정된 명시적 조인 순서는 다음과 같습니다. 관계가 결합되는 실제 순서. 는 쿼리 플래너가 항상 최적의 조인을 선택하지는 않습니다. 주문; 고급 사용자는 이를 임시로 설정하도록 선택할 수 있습니다. 변수를 1로 설정한 다음 조인 순서를 지정합니다. 명시적으로 욕망합니다. 이것을 설정한 또 다른 결과 변수를 1로 설정하면 쿼리 플래너가 더 많이 작동한다는 것입니다. 처럼포스트그레SQL7.3 일부 사용자에게 유용할 수 있는 쿼리 플래너 이전 버전과의 호환성 이유.

이 변수를 1과 사이의 값으로 설정from_collapse_limit아마도 계획 시간과 품질을 비교하는 데 유용합니다. 선택한 계획(값이 높을수록 더 나은 계획이 생성됨).