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

11.6. 운영자 롤 토토

인덱스 정의가 an을 지정할 수 있습니다운영자 롤 토토인덱스의 각 열에 대해.

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

운영자 롤 토토는 해당 열에 대한 색인. 예를 들어, 유형의 B- 트리 색인int4사용int4_ops클래스; 이 운영자 롤 토토에는 포함됩니다 유형 값에 대한 비교 함수int4. 실제로 기본 연산자 클래스 열의 데이터 유형으로는 일반적으로 충분합니다. 의 요점 운영자 롤 토토를 갖는 것은 일부 데이터 유형의 경우 하나 이상의 의미있는 색인 동작이어야합니다. 예를 들어, 우리는 할 수 있습니다 절대 값으로 복잡한 수 데이터 유형을 정렬하고 싶습니다. 또는 진짜 부분. 우리는 두 연산자를 정의하여이를 수행 할 수 있습니다 데이터 유형에 대한 클래스 후 적절한 클래스를 선택합니다. 색인을 만들 때.

외에 일부 내장 연산자 롤 토토도 있습니다 기본값 :

  • 운영자 롤 토토text_pattern_ops, varchar_pattern_ops, bpchar_pattern_opsname_pattern_ops유형텍스트, Varchar, char이름12179_12505좋아요또는 posix 정규 표현식) 서버가 표준을 사용하지 않는 경우"C"로케일. 예를 들어, 당신 a를 색인 할 수 있습니다.varchar열 같은 이것:

    test_table (col varchar_pattern_ops)에서 색인 test_index 만들기;

    C 로케일을 사용하는 경우 대신 기본 연산자 클래스와 인덱스를 사용하면 여전히 패턴 매칭 쿼리에 유용합니다. 또한 당신은 주목하십시오 기본 연산자 클래스와 함께 인덱스를 생성 해야하는 경우 인덱스를 사용하기 위해 일반 비교와 관련된 쿼리를 원합니다. 이러한 쿼리는를 사용할 수 없습니다.xxx_pattern_ops운영자 롤 토토. 동일한 열에서 여러 인덱스를 만들 수 있습니다. 다른 운영자 롤 토토와 함께.

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

AM.AMNAME AS Index_Method,
       opc.opcname as opclass_name입니다
    PG_AM AM에서 PG_OPCLASS OPC
    여기서 opc.opcamid = am.oid
    INDEX_METHOD, OPCLASS_NAME; 주문

각각에 포함 된 모든 연산자를 표시하도록 확장 할 수 있습니다. 수업:

AM.AMNAME AS Index_Method,
       opclass_name으로서 opc.opcname,
       opclass_operator로서 opr.oprname
    PG_AM AM, PG_OPCLASS OPC, PG_AMOP AMOP, PG_OPERATOR OPR
    여기서 opc.opcamid = am.oid 및
          amop.amopClaid = opc.oid 및
          amop.amopop = opr.oid
    INDEX_METHOD, OPCLASS_NAME, OPCLASS_OPERATOR; 주문