67.2. B- 트리 사설 토토 클래스의 행동

표 38.3, Btree 사설 토토 클래스는 5 개의 비교 연산자를 제공해야합니다.<, <=, =, > =and. 하나는 그것을 기대할 수 있습니다<또한 운영자 클래스의 일부 여야하지만 A를 사용하는 것이 거의 유용하지 않기 때문에 그렇지 않습니다.<인덱스 검색의 조항. (어떤 목적으로, 플래너는 취급<Btree 연산자 클래스와 관련된대로; 그러나 그것은를 통해 그 사설 토토를 발견합니다.=사설 토토의 부정 자 링크가 아니라pg_amop.)

몇 가지 데이터 유형이 거의 동일한 정렬 시맨틱을 공유하면 운영자 클래스를 운영자 제품군으로 그룹화 할 수 있습니다. 플래너가 교차 유형 비교에 대한 공제를 할 수 있기 때문에 그렇게하는 것은 유리합니다.느슨한가족. 전체 교차 유형 사설 토토 세트가 가족에 포함될 것을 권장합니다. 따라서 플래너가 전환으로부터 추론하는 비교 조건을 나타낼 수 있도록하는 것이 좋습니다..

Btree 사설 토토 가족이 만족해야한다는 몇 가지 기본 가정이 있습니다.

  • an=사설 토토는 동등한 관계 여야합니다. 즉, 모든 널이 아닌 값에 대해A, B, C데이터 유형의 :

    • A = Ais true (반사법)

    • ifA = B,B = A (대칭 법)

    • ifA = BandB = C,A = C (전이법)

  • A <사설 토토는 강력한 순서 관계 여야합니다. 즉, 모든 널이 아닌 값에 대해A, B, C:

    • A < Ais false (Irreflexive Law)

    • ifA < BandB < C,A < C (전이법)

  • 또한, 순서는 총입니다. 즉, 모든 널이 아닌 값에 대해A, B:

    • 정확히 하나의A < B, A = BB < Ais true (Trichotomy Law)

    (Trichotomy 법은 비교 지원 기능의 정의를 정당화합니다.)

다른 세 연산자는의 관점에서 정의됩니다.=and<명백한 방식으로 그들과 일관되게 행동해야합니다.

여러 데이터 유형을 지원하는 운영자 패밀리의 경우 위의 법률은 언제 보유해야합니다A, B, C가족의 모든 데이터 유형에서 가져옵니다. 교차 유형 상황에서 2 ~ 3 개의 다른 연산자의 행동이 일관성이 있다는 진술을 나타내는 전이 법률은 가장 까다로워집니다.float8and숫자동일한 사설 토토 제품군으로, 적어도 현재 의미론이 아닙니다숫자값은로 변환됩니다.float8A와 비교하려면float8. 제한된 정확도 때문에float8, 이것은 별개의 것이 있음을 의미합니다숫자동일과 동일하게 비교할 값float8값, 따라서 전이 법은 실패 할 것입니다.

다중 데이터 유형 패밀리에 대한 또 다른 요구 사항은 사설 토토 제품군에 포함 된 데이터 유형 사이에 정의 된 암시 적 또는 이진적 계산 캐스트가 관련 정렬 순서를 변경해서는 안된다는 것입니다..

BTREE 지수가 단일 데이터 유형 내에서 이러한 법률을 요구하는 이유는 상당히 명확해야합니다. 또한 다른 데이터 유형의 비교 키를 사용한 인덱스 검색은 두 가지 데이터 유형에서 SANELY를 작동시키기 위해 비교해야합니다.

정정 제출

올바른 문서에 아무것도 표시되면 일치하지 않습니다.이 양식문서 문제를보고하려면