This documentation is for an unsupported version of PostgreSQL.
당신은에 대해 같은 페이지를 보려고 할 수 있습니다PostgreSQL : 문서 : 17 : 62.6. 색인 스포츠 토토 사이트 핫 추정 기능버전 또는 위에 나열된 다른 지원되는 버전 중 하나입니다.

63.6. 색인 스포츠 토토 사이트 추정 기능#

theAmcostestimate함수는 인덱스와 함께 사용할 수있는 것으로 판단 된 조항의 위치 및 순서 목록을 포함하여 가능한 색인 스캔을 설명하는 정보가 제공됩니다. 인덱스에 액세스하는 스포츠 토토 사이트과 위치 조항의 선택성에 대한 추정치를 반환해야합니다 (즉, 인덱스 스캔 중에 검색 될 부모 테이블 행의 비율). 간단한 경우, 최적화에서 표준 루틴을 호출하여 스포츠 토토 사이트 추정기의 거의 모든 작업을 수행 할 수 있습니다. 의 요점Amcostestimate함수는 표준 추정치를 개선 할 수있는 경우 인덱스 액세스 방법을 색인 유형 특유의 지식을 제공 할 수 있도록하는 것입니다..

Amcostestimate함수는 서명이 있어야합니다 :

무효
amcostestestimate (plannerinfo *root,
                IndexPath *Path,
                더블 루프 _count,
                Cost *IndexStartUpCost,
                스포츠 토토 사이트 *IndextOtalCost,
                선택성 *indexSelectivity,
                이중 *색인 상관,
                Double *indexpages);

처음 세 매개 변수는 입력입니다 :

루트

The planner's information about the query being processed.

Path

고려중인 인덱스 액세스 경로. 스포츠 토토 사이트 및 선택성 값을 제외한 모든 필드는 유효합니다.

loop_count

The number of repetitions of the index scan that should be factored into the cost estimates. This will typically be greater than one when considering a parameterized scan for use in the inside of a nestloop join. Note that the cost estimates should still be for just one scan; a largerloop_count여러 스캔에서 일부 캐싱 효과를 허용하는 것이 적절할 수 있음을 의미합니다.

The last five parameters are pass-by-reference outputs:

*INDEXSTARTUPCOST

인덱스 시작 프로세싱 스포츠 토토 사이트으로 설정

*IndextOtalCost

총 지수 처리 스포츠 토토 사이트으로 설정

*indexSelectivity

인덱스 선택성으로 설정

*색인 상관

인덱스 스캔 순서와 기본 테이블 순서 사이의 상관 계수로 설정

*indexpages

인덱스 리프 페이지 수로 설정

스포츠 토토 사이트 추정 기능은 Planner/Optimizer의 내부 데이터 구조에 액세스해야하기 때문에 SQL이 아닌 C로 작성되어야합니다..

인덱스 액세스 스포츠 토토 사이트은에 사용 된 매개 변수를 사용하여 계산해야합니다.SRC/백엔드/옵티마이저이저/PATH/COSTIZE.C: 순차 디스크 블록 페치 스포츠 토토 사이트이 듭니다seq_page_cost, 비 순차적 인 페치는 스포츠 토토 사이트이 듭니다random_page_cost, and the cost of processing one index row should usually be taken ascpu_index_tuple_cost. In addition, an appropriate multiple ofcpu_operator_cost인덱스 처리 중에 호출 된 비교 연산자에 대해 청구되어야합니다 (특히 indexquals 자체 평가).

액세스 스포츠 토토 사이트에는 인덱스 자체를 스캔하는 것과 관련된 모든 디스크 및 CPU 스포츠 토토 사이트이 포함되어야하지만not색인에 의해 식별되는 부모 테이블 행을 검색하거나 처리하는 스포츠 토토 사이트.

The시작 스포츠 토토 사이트첫 번째 행을 가져 오기 전에 소비 해야하는 총 스캔 비용의 일부입니다. 대부분의 인덱스의 경우 이것은 0으로 사용할 수 있지만 시작 스포츠 토토 사이트이 높은 인덱스 유형은 0이 아닌 설정을 원할 수 있습니다.

theindexSelectivity인덱스 스캔 중에 검색 될 상위 테이블 행의 추정 비율로 설정해야합니다. 손실 된 쿼리의 경우 일반적으로 주어진 Qual 조건을 실제로 통과하는 행의 일부보다 높을 것입니다..

the색인 상관 관계는 인덱스 순서와 테이블 순서 사이에서 상관 관계 (-1.0과 1.0 사이)로 설정되어야합니다. 이것은 부모 테이블에서 행을 가져 오는 스포츠 토토 사이트에 대한 견적을 조정하는 데 사용됩니다.

theindexPagesshould be set to the number of leaf pages. This is used to estimate the number of workers for parallel index scan.

Whenloop_count1보다 크고, 반환 된 숫자는 색인을 한 번 스캔 할 때 예상되는 평균이어야합니다.

스포츠 토토 사이트 추정

일반적인 스포츠 토토 사이트 추정기는 다음과 같이 진행됩니다 :

  1. 지정된 Qual 조건에 따라 방문 될 부모 테이블 행의 비율을 추정하고 반환합니다. 인덱스 유형 특정 지식이 없으면 표준 최적화 기능을 사용하십시오clauselist_selectivity ():

    *indexselectivity = clauselist_selectivity (root, path- indexquals,
                                               path- indexinfo- rel- 릴리드,
                                               join_inner, null);
  2. 스캔 중에 방문 할 인덱스 행 수를 추정하십시오. 많은 인덱스 유형의 경우 이것은와 동일합니다.indexSelectivity인덱스의 행 수를 시간에 타지 만 더 많을 수도 있습니다. (페이지와 행의 인덱스 크기는에서 사용할 수 있습니다.path- indexinfostruct.)

  3. Estimate the number of index pages that will be retrieved during the scan. This might be justindexSelectivity페이지에서 인덱스 크기를 시간에 타십시오.

  4. 인덱스 액세스 스포츠 토토 사이트을 계산합니다. 일반적인 추정기가 이것을 할 수 있습니다 :

    /*
     * 우리의 일반적인 가정은 인덱스 페이지를 읽을 것입니다.
     * 순차적으로, 따라서 그들은 random_page_cost가 아닌 seq_page_cost가 각각 비용이 듭니다.
     * 또한 각 인덱스 행에서 Indexquals 평가를 청구합니다.
     * 모든 비용은 스캔 중에 점진적으로 지불되는 것으로 가정합니다.
     */
    cost_qual_eval (& index_qual_cost, path- indexquals, root);
    *indexstartupcost = index_qual_cost.startup;
    * indextotalCost = seq_page_cost * numIndexpages +
        (cpu_index_tuple_cost + index_qual_cost.per_tuple) * numindextuples;

    그러나, 위의 내용은 반복 된 인덱스 스캔을 통해 인덱스 판독의 상각을 설명하지 않습니다.

  5. 인덱스 상관을 추정합니다. 단일 필드의 간단한 주문 인덱스의 경우 PG_STATISTIC에서 검색 할 수 있습니다. If the correlation is not known, the conservative estimate is zero (no correlation).

스포츠 토토 사이트 추정기 기능의 예는 찾을 수 있습니다.src/backend/utils/adt/selfuncs.c.