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

18.6. 스포츠 토토 사이트 계획

18.6.1. 플래너 방법 구성

이러한 구성 매개변수는 대략적인 방법을 제공합니다. 스포츠 토토 사이트 최적화 프로그램이 선택한 스포츠 토토 사이트 계획에 영향을 미칩니다. 만약에 특정 스포츠 토토 사이트에 대해 최적화 프로그램이 선택한 기본 계획 최적이 아닙니다. a임시해결책은 하나를 사용하는 것입니다 최적화 프로그램이 다음을 수행하도록 강제하는 이러한 구성 매개변수 다른 요금제를 선택하세요. 품질을 향상시키는 더 나은 방법 옵티마이저가 선택한 계획에는 대패 조정이 포함됩니다. 비용 상수(참조섹션 18.6.2), 실행 중PostgreSQL : 문서 : 9.0 : 토토 커뮤니티수동으로 값 증가default_statistics_target구성 매개변수 및 양 증가 다음을 사용하여 특정 열에 대해 수집된 통계테이블 세트 통계 변경.

enable_bitmapscan (부울)

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

enable_hashagg (부울)

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

enable_hashjoin (부울)

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

enable_indexscan (부울)

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

enable_material (부울)

스포츠 토토 사이트 플래너의 사용을 활성화 또는 비활성화합니다. 구체화. 제압이 불가능하다 완전히 구체화되지만 이 변수를 끄면 플래너가 구체화 노드를 삽입하는 것을 방지합니다. 정확성을 위해 필요한 경우는 제외됩니다. 그만큼 기본값은켜짐.

enable_mergejoin (부울)

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

enable_nestloop (부울)

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

enable_seqscan (부울)

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

enable_sort (부울)

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

enable_tidscan (부울)

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

18.6.2. 플래너 비용 상수

비용변수에 설명되어 있음 이 섹션은 임의의 규모로 측정됩니다. 오직 그들의 상대적인 값이 중요하므로 모두 확장하거나 축소합니다. 동일한 요인으로 인해 계획자의 계획이 변경되지 않습니다. 선택. 기본적으로 이러한 비용 변수는 비용을 기반으로 합니다. 순차적 페이지 가져오기; 즉,seq_page_cost일반적으로 다음과 같이 설정됩니다.1.0그리고 다른 비용 변수는 다음과 같습니다. 이를 참고하여 설정합니다. 하지만 다른 척도를 사용할 수도 있습니다. 원하는 경우 실제 실행 시간(밀리초) 등 특정 컴퓨터에서.

참고:안타깝게도 잘 정의된 항목이 없습니다. 비용 변수의 이상적인 값을 결정하는 방법. 이는 전체 혼합에 대한 평균으로 가장 잘 처리됩니다. 특정 설치가 받게 될 쿼리입니다. 이것 단지 몇 가지 기준으로 변경한다는 의미입니다. 실험은 매우 위험합니다.

seq_page_cost (떠다니는 가리키다)

플래너의 디스크 페이지 비용 추정치를 설정합니다. 일련의 순차적 가져오기의 일부인 가져오기입니다. 그만큼 기본값은 1.0입니다. 이 값은 다음에 대해 재정의될 수 있습니다. 테이블스페이스 매개변수를 설정하여 특정 테이블스페이스 같은 이름의 (참조테이블스페이스 변경).

random_page_cost (부동 가리키다)

계획자의 예상 비용을 설정합니다. 비순차적으로 가져온 디스크 페이지. 기본값은 4.0입니다. 이 값은 특정 테이블스페이스에 대해 재정의될 수 있습니다. 동일한 이름의 테이블스페이스 매개변수를 설정하여(참조PostgreSQL : 문서 : 9.0).

이 값을 기준으로 줄이기seq_page_cost시스템이 인덱스 스캔을 선호합니다. 그것을 올리면 인덱스 스캔이 보일 것입니다 상대적으로 더 비쌉니다. 둘 다 올리거나 내릴 수 있습니다 값을 함께 사용하여 디스크 I/O의 중요성 변경 CPU 비용 대비 비용은 다음 매개변수입니다.

팁:시스템에서 설정을 허용하지만random_page_cost이하로 보다seq_page_cost입니다. 그렇게 하는 것은 육체적으로 합리적이지 않습니다. 그러나 설정 데이터베이스가 완전히 동일하다면 의미가 있습니다. RAM에 캐시됩니다. 이 경우 페널티가 없기 때문입니다. 페이지를 순서대로 터치하는 경우. 또한, 캐시가 많은 데이터베이스에서는 두 값을 모두 낮춰야 합니다. CPU 매개변수와 관련하여 비용이 이미 RAM에 있는 페이지를 가져오는 것보다 훨씬 작습니다. 보통 그렇겠죠.

cpu_tuple_cost (떠다니는 가리키다)

계획자의 처리 비용 추정치를 설정합니다. 쿼리 중 각 행. 기본값은 0.01입니다.

cpu_index_tuple_cost (부동 소수점)

계획자의 처리 비용 추정치를 설정합니다. 인덱스 스캔 중 각 인덱스 항목. 기본값은 0.005.

cpu_operator_cost (떠다니는 가리키다)

계획자의 처리 비용 추정치를 설정합니다. 쿼리 중에 실행되는 각 연산자 또는 함수입니다. 그만큼 기본값은 0.0025입니다.

유효_캐시_크기 (정수)

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

18.6.3. 유전자 스포츠 토토 사이트 최적화

유전자 쿼리 최적화 프로그램(GEQO)은 다음을 수행하는 알고리즘입니다. 휴리스틱 검색을 이용한 쿼리 계획. 이렇게 하면 계획이 줄어듭니다. 복잡한 쿼리(많은 관계를 결합하는 쿼리)에 대한 시간 때로는 그보다 열등한 계획을 만드는 데 드는 비용 일반적인 완전 검색 알고리즘에 의해 발견됩니다. 더 알아보기 정보 참조PostgreSQL : 문서 : 9.0 : 유전자 와이즈 토토 옵티마이저.

geqo (부울)

유전자 스포츠 토토 사이트 최적화를 활성화 또는 비활성화합니다. 이것 기본적으로 켜져 있습니다. 일반적으로 끄지 않는 것이 가장 좋습니다. 생산 중; 그만큼geqo_threshold변수는 더 많은 것을 제공합니다 GEQO를 세부적으로 제어합니다.

geqo_threshold (정수)

유전자 쿼리 최적화를 사용하여 다음과 같은 쿼리를 계획하세요. 적어도 이만큼은발신항목 관련된. (참고: a전체 외부 가입하다구조물은 하나만으로 계산됩니다.발신item.) 기본값은 12입니다. 더 간단하게 일반적으로 일반 스포츠 토토 사이트를 사용하는 것이 가장 좋습니다. 철저한 검색 플래너이지만 많은 스포츠 토토 사이트의 경우 테이블 전체 검색에 시간이 너무 오래 걸리고 종종 더 오래 걸립니다. 차선의 계획을 실행하는 데 따르는 불이익보다 따라서, 스포츠 토토 사이트 크기에 대한 임계값을 설정하는 것이 편리한 방법입니다. GEQO 사용을 관리합니다.

geqo_effort (정수)

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

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

geqo_pool_size (정수)

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

geqo_세대 (정수)

GEQO가 사용하는 세대 수를 제어합니다. 알고리즘의 반복 횟수입니다. 그래야만 해 적어도 하나이고 유용한 값은 다음과 같은 범위에 있습니다. 수영장 크기. 0으로 설정된 경우(기본 설정) 다음을 기준으로 적절한 값이 선택됩니다.geqo_pool_size.

geqo_selection_bias (부동 소수점)

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

geqo_seed (부동 소수점)

난수의 초기값을 제어합니다 GEQO에서 무작위 경로를 선택하는 데 사용되는 생성기 주문 검색 공간에 참여하세요. 값의 범위는 0부터 가능합니다. (기본값)을 1로 변경합니다. 값을 변경하면 세트가 변경됩니다. 탐색된 조인 경로의 수에 따라 더 나은 결과를 얻을 수 있습니다. 더 나쁜 최선의 경로를 찾고 있습니다.

18.6.4. 기타 플래너 옵션

default_statistics_target (정수)

테이블 열에 대한 기본 통계 대상을 설정합니다. 다음을 통해 열별 대상을 설정하지 않고테이블 세트 통계 변경. 더 큰 값 수행하는 데 필요한 시간을 늘립니다.분석, 그러나 품질이 향상될 수 있습니다. 기획자의 추정. 기본값은 100입니다. 자세한 내용은 통계 이용에 관한 정보포스트그레SQL스포츠 토토 사이트 플래너, 참조PostgreSQL : 문서 : 9.0 : 범퍼카 토토 사용하는 범퍼카 토토.

constraint_exclusion (열거형)

스포츠 토토 사이트 플래너의 테이블 제약 조건 사용을 제어합니다. 스포츠 토토 사이트를 최적화합니다. 허용되는 값은constraint_exclusion아르켜짐(모든 테이블의 제약 조건을 조사),꺼짐(절대 제약 조건을 검사하지 않음), 그리고파티션(조사하다 상속 하위 테이블에 대한 제약 조건 및유니온 전체하위 쿼리).파티션기본값입니다 환경. 상속과 함께 자주 사용됩니다. 성능 향상을 위해 파티션을 나눈 테이블입니다.

이 매개변수가 특정 테이블에 대해 허용하는 경우, 플래너는 스포츠 토토 사이트 조건을 테이블의 조건과 비교합니다.확인제약조건 및 생략 조건이 모순되는 스캔 테이블 제약. 예를 들어:

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

제약조건 제외가 활성화되면 이선택스캔하지 않습니다어린이1000전혀 개선되고 있어요 성능.

현재 제약 조건 제외는 기본적으로 활성화되어 있습니다. 테이블을 구현하는 데 자주 사용되는 경우에만 해당 파티셔닝. 모든 테이블에 대해 이를 켜면 추가 비용이 부과됩니다. 단순 작업에서 꽤 눈에 띄는 계획 오버헤드 쿼리는 대부분 간단한 경우 아무런 이점도 얻지 못합니다. 쿼리. 분할된 테이블이 없는 경우 다음을 수행할 수 있습니다. 완전히 끄는 것이 좋습니다.

참조섹션 5.9.4사용에 대한 자세한 내용은 제약 조건 제외 및 파티셔닝.

cursor_tuple_fraction (부동 소수점)

계획자의 예상 비율을 설정합니다. 검색될 커서의 행. 기본값은 0.1입니다. 이 설정의 값이 작을수록 플래너는 더 편향됩니다. 사용 중"빠른 시작"다음에 대한 계획 처음 몇 행을 빠르게 검색하는 커서 모든 행을 가져오는 데 시간이 오래 걸릴 수 있습니다. 값이 클수록 총 추정치가 더 강조됩니다. 시간. 최대 설정 1.0에서 커서가 계획되어 있습니다. 총계만 고려하면 일반 쿼리와 똑같습니다. 첫 번째 행이 얼마나 빨리 나올지는 예상 시간이 아니라 예상 시간입니다. 배달되었습니다.

from_collapse_limit (정수)

플래너는 하위 스포츠 토토 사이트를 상위 스포츠 토토 사이트로 병합합니다 결과인 경우발신목록은 이만큼의 품목은 없습니다. 값이 작을수록 감소 시간을 계획하지만 열악한 쿼리 계획이 생성될 수 있습니다. 그만큼 기본값은 8입니다. 자세한 내용은 참조섹션 14.3.

이 값을 다음으로 설정 중geqo_threshold또는 그 이상은 GEQO 플래너의 사용을 트리거할 수 있으며, 그 결과 최적이 아닌 계획. 보다섹션 18.6.3.

join_collapse_limit (정수)

계획자가 명시적으로 다시 작성합니다가입구조물(제외전체 조인s)를 목록으로발신목록이 다음보다 많을 때마다 항목 이 많은 항목이 발생합니다. 값이 작을수록 감소 계획하는 데 시간이 걸리지만 열등한 쿼리 계획이 생성될 수 있습니다.

기본적으로 이 변수는 다음과 동일하게 설정됩니다.from_collapse_limit, 이는 대부분의 용도에 적합합니다. 1로 설정하면 명시적 재정렬가입s. 따라서 쿼리에 지정된 명시적인 조인 순서는 관계가 결합되는 실제 순서가 됩니다. 쿼리 플래너가 항상 최적의 조인 순서, 고급 사용자는 다음을 선택할 수 있습니다. 일시적으로 이 변수를 1로 설정한 다음 명시적으로 원하는 조인 순서입니다. 자세한 내용은 보다PostgreSQL : 문서 : 9.0 : 명시 적 조인 조항으로 토토 캔 제어.

이 값을 다음으로 설정 중geqo_threshold또는 그 이상은 GEQO 플래너의 사용을 트리거할 수 있으며, 그 결과 최적이 아닌 계획. 보다섹션 18.6.3.