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

7.6. 연산자 클래스

색인 정의는 다음을 지정할 수 있습니다.연산자 클래스색인의 각 열에 대해.

색인 생성이름켜짐테이블 ( opclass [, ...]);

연산자 클래스는 다음에서 사용할 연산자를 식별합니다. 해당 열의 인덱스입니다. 예를 들어 4바이트의 B-트리 인덱스는 정수는를 사용합니다.int4_ops클래스; 이 연산자 클래스에는 4바이트에 대한 비교 함수가 포함되어 있습니다. 정수. 실제로 열의 기본 연산자 클래스는 일반적으로 데이터 유형이면 충분합니다. 갖는 주요 포인트 연산자 클래스는 일부 데이터 유형의 경우 더 많은 것이 있을 수 있다는 것입니다. 하나의 의미있는 주문보다. 예를 들어, 정렬을 원할 수 있습니다. 절대값 또는 실수에 의한 복소수 데이터 유형 부분. 우리는 두 개의 연산자 클래스를 정의함으로써 이를 수행할 수 있습니다. 데이터 유형을 선택한 다음 적절한 클래스를 선택하여 색인. 특수한 연산자 클래스도 있습니다. 목적:

  • 연산자 클래스box_ops그리고bigbox_ops둘 다 R-트리를 지원합니다 의 색인상자데이터 유형. 는 차이점은 다음과 같습니다.bigbox_ops상자 좌표를 아래로 조정합니다. 곱셈을 할 때 부동 소수점 예외를 피하세요. 매우 큰 부동 소수점에 대한 덧셈 및 뺄셈 좌표. 직사각형이 놓인 필드가 다음과 같은 경우 약 20,000제곱 단위 이상을 사용해야 합니다.bigbox_ops.

다음 쿼리는 정의된 모든 연산자 클래스를 보여줍니다.

am.amname AS acc_method 선택,
       opc.opcname AS ops_name,
       opr.oprname AS ops_comp
    pg_am am, pg_opclass opc, pg_amop amop, pg_operator opr에서
    opc.opcamid = am.oid AND
          amop.amopclaid = opc.oid AND
          amop.amopopr = opr.oid
    ORDER BY acc_method, ops_name, ops_comp