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

만들기 스포츠 토토

이름

CREATE INDEX  --  보조 스포츠 토토를 구성합니다. 색인

시놉시스

[고유] 스포츠 토토 생성색인_이름켜짐테이블[ 사용 중acc_name ] (  [ ops_name] [, ...] )
[ 고유 ] 스포츠 토토 생성색인_이름켜짐테이블[ 사용 중acc_name ] ( func_name(  [, ... ]) [ ops_name ] )

입력

고유

시스템이 다음에서 중복된 값을 확인하도록 합니다. 인덱스 생성 시 테이블(데이터가 이미 존재하는 경우) 그리고 데이터가 추가될 때마다. 삽입 또는 업데이트 시도 중복 항목이 발생하는 데이터는 오류가 발생합니다.

색인_이름

생성될 색인의 이름.

테이블

인덱싱할 테이블의 이름입니다.

acc_name

다음에 사용될 액세스 방법의 이름 색인. 기본 액세스 방법은 BTREE입니다. 포스트그레스 인덱스에 대한 세 가지 액세스 방법을 제공합니다.

BTREE

Lehman-Yao 높은 동시성 구현 비트리.

RTREE

Guttman을 사용하여 표준 rtree를 구현합니다. 2차 분할 알고리즘.

해시

Litwin의 선형 구현 해싱.

테이블의 열 이름.

ops_name

관련 연산자 클래스. 자세한 내용은 아래를 참조하세요. 세부사항.

func_name

다음과 같은 값을 반환하는 함수 색인이 생성되었습니다.

출력

만들기

스포츠 토토가 성공적으로 완료되면 반환되는 메시지 생성되었습니다.

오류: 색인을 생성할 수 없습니다: 'index_name'이 이미 존재합니다.

이 오류는 생성이 불가능한 경우 발생합니다. 색인.

설명

색인 생성색인을 구성합니다색인_이름지정된테이블.

팁:스포츠 토토는 주로 데이터베이스를 향상시키는 데 사용됩니다. 성능. 그러나 부적절하게 사용하면 속도가 느려집니다. 성능.

위에 표시된 첫 번째 구문에서, 인덱스는 열 이름으로 지정됩니다. 여러 필드가 가능합니다. 인덱스 액세스 방법이 다중 열을 지원하는 경우 지정됩니다. 색인.

위에 표시된 두 번째 구문에서 스포츠 토토는 사용자가 지정한 함수의 결과func_name하나 이상의 열에 적용됨 테이블 하나. 이들기능 스포츠 토토연산자를 기반으로 데이터에 빠르게 액세스하는 데 사용할 수 있습니다. 일반적으로 이를 적용하려면 약간의 변환이 필요합니다. 기본 데이터.

Postgres는 btree, rtree 및 해시 액세스 방법을 제공합니다. 인덱스. btree 액세스 방법은 다음을 구현한 것입니다. Lehman-Yao 고동시성 Btree. rtree 액세스 방법 Guttman의 2차 분할을 사용하여 표준 rtree를 구현합니다. 알고리즘. 해시 액세스 방법은 다음을 구현합니다. Litwin의 선형 해싱. 우리는 오로지 다음 목적으로만 사용되는 알고리즘을 언급합니다. 이러한 모든 액세스 방법이 완전히 동적임을 나타냅니다. 주기적으로 최적화할 필요는 없습니다(예: 예를 들어 정적 해시 액세스 방법).

사용PostgreSQL : 문서 : 7.1 : 삭제 범퍼카 토토에 색인을 제거합니다.

참고

포스트그레스질의 최적화 프로그램은 인덱스가 생성될 때마다 btree 인덱스 사용을 고려합니다. 속성은 다음 중 하나를 사용하여 비교에 포함됩니다. <=, =, =,

포스트그레질의 최적화 프로그램은 다음이 발생할 때마다 rtree 인덱스 사용을 고려할 것입니다. 색인화된 속성은 다음 중 하나를 사용하여 비교에 포함됩니다. <<, &<, &, , @, ~=, &&

포스트그레질의 최적화 프로그램은 색인이 생성될 때마다 해시 색인 사용을 고려합니다. 속성은를 사용한 비교에 포함됩니다.=연산자.

현재는 btree 액세스 방법만 지원합니다. 다중 열 인덱스. 기본적으로 최대 16개의 키를 지정할 수 있습니다. (이 제한은 Postgres를 빌드할 때 변경될 수 있습니다.)

연산자 클래스지정 가능 인덱스의 각 열에 대해. 연산자 클래스는 해당 열의 인덱스에서 사용할 연산자입니다. 예를 들어, 4바이트 정수의 btree 인덱스는 다음을 사용합니다.int4_ops클래스; 이 연산자 클래스에는 다음이 포함됩니다. 4바이트 정수에 대한 비교 함수. 실제로는 필드의 데이터 유형에 대한 기본 연산자 클래스는 일반적으로 충분하다. 연산자 클래스를 갖는 주요 요점은 일부 데이터 유형의 경우 의미 있는 값이 두 개 이상 있을 수 있습니다. 주문. 예를 들어, 복소수를 정렬하고 싶을 수도 있습니다. 절대값 또는 실수부로 데이터 유형을 지정합니다. 우리는 할 수 있었다 이는 데이터 유형에 대해 두 개의 연산자 클래스를 정의하고 그런 다음 인덱스를 만들 때 적절한 클래스를 선택합니다. 있다 또한 특별한 목적을 가진 일부 연산자 클래스도 있습니다:

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

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

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

사용법

필드에 Btree 색인을 생성하려면제목테이블에영화:

고유 인덱스 생성 title_idx
    ON 영화(제목);

호환성

SQL92

CREATE INDEX는포스트그레언어 확장.

없습니다색인 생성명령 SQL92.