이 문서는 지원되지 않는 버전의 PostgreSQL 용입니다.
당신은에 대해 같은 페이지를 보려고 할 수 있습니다토토 꽁 머니 43_27버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

69.2.다변량 사설 토토 예

69.2.1.기능적 종속성

다변량 상관 관계는 매우 간단한 데이터 세트로 입증 될 수 있습니다. 두 개의 열이있는 테이블은 모두 동일한 값을 포함합니다.

생성 테이블 t (a int, b int);

설명 된대로섹션 14.2, 플래너는의 카디널리티를 결정할 수 있습니다.t에서 얻은 페이지와 행을 사용하여PG_CLASS:

relname = 't'에서 pg_class에서 관계, reltuples를 선택하십시오.

데이터 배포는 매우 간단합니다. 각 열에는 균일하게 분포 된 각 열에 100 개의 별개의 값 만 있습니다.

다음 예제는 A를 추정 한 결과를 보여줍니다여기서상태에서의 조건a열 :

설명 (분석, 타이밍 꺼짐) 선택 *에서 t에서 a = 1;

플래너는 조건을 검사 하고이 조항의 선택성을 1%로 결정합니다. 이 추정치와 실제 행 수를 비교함으로써, 우리는 추정치가 매우 정확하다는 것을 알 수 있습니다 (실제로 테이블이 매우 작기 때문에 정확합니다).어디사용 조건B열에서 동일한 계획이 생성됩니다. 그러나 두 열에 동일한 조건을 적용하면를 결합하면 어떻게되는지 확인하십시오.and:

설명 (분석, 타이밍 꺼짐) * 선택 *에서 a = 1 및 b = 1;

플래너는 각 조건의 선택성을 개별적으로 추정하여 상기와 동일한 1% 추정치에 도달합니다. 그런 다음 조건이 독립적이라고 가정하므로 선택성을 곱하여 최종 선택성 추정치가 0.01%에 불과합니다.

이 문제는 지시하는 사설 토토 객체를 만들어 해결할 수 있습니다분석두 열에서 기능적 의존성 다변량 사설 토토를 계산하려면 :

t에서 a, b에서 사설 토토 Stts (종속성) 생성;

69.2.2.다변량 N- 결정 수

a에 의해 생성 될 그룹의 수와 같은 여러 열 집합의 카디널리티 추정치와 비슷한 문제가 발생합니다.그룹 by절. 언제그룹 by단일 열, n- 결정적인 추정치 (해 순서 그레이트 노드에 의해 반환 된 추정 행 수에 따라 볼 수 있음)를 나열합니다. 매우 정확합니다.

설명 (분석, 타이밍 꺼짐) T 그룹에서 Count (*)를 선택하여 a;

그러나 다변량 사설 토토가 없으면 두 개의 열이있는 쿼리의 그룹 수에 대한 추정치그룹 by, 다음 예에서와 같이, 크기는 꺼져 있습니다 :

설명 (분석, 타이밍 꺼짐) T Group에서 Count (*)를 선택하여 A, B;

두 열에 대한 n- 결정 수를 포함하도록 사설 토토 개체를 재정의하면 추정치가 훨씬 향상되었습니다.

드롭 사설 토토 Stts;