[고유 한] 인덱스 만들기index_nameon테이블[사용acc_name] (열[ops_name] [, ...]) [고유 한] 스포츠 토토 생성index_nameon테이블[사용acc_name] (func_name(열[, ...]) [ops_name])
시스템이 인덱스가 생성 된 경우 테이블 (데이터가 이미 존재하는 경우) 그리고 매번 데이터가 추가됩니다. 삽입 또는 업데이트를 시도합니다 중복 항목을 초래하는 데이터가됩니다 오류를 생성하십시오.
생성 할 인덱스의 이름.
색인화 할 테이블의 이름.
스포츠 토토. 기본 액세스 방법은 btree입니다. 포스트 그레스 인덱스에 대한 세 가지 액세스 방법 제공 :
Lehman-Yao High-Concurrency의 구현 btrees.
Guttman 's를 사용하여 표준 rtree를 구현합니다 2 차 분할 알고리즘.
Litwin의 선형 구현 해싱.
테이블 열의 이름.
관련 연산자 클래스. 아래를 참조하십시오 세부.
함수는 값을 반환합니다 스포츠 토토.
색인 생성스포츠 토토 구성index_name지정된테이블.
팁 :인덱스는 주로 데이터베이스를 향상시키는 데 사용됩니다 성능. 그러나 부적절한 사용은 느려집니다 성능.
위에 표시된 첫 번째 구문에서 인덱스는 열 이름으로 지정됩니다. 여러 분야가 될 수 있습니다 인덱스 액세스 방법이 멀티 컬럼을 지원하는 경우 지정됩니다 인덱스.
위에 표시된 두 번째 구문에서 인덱스가 사용자 지정 기능의 결과func_name하나 이상의 열에 적용됩니다 단일 테이블. 이것들기능 지수일반적으로 적용하려면 약간의 변형이 필요합니다. 기본 데이터.
Postgres는 btree, rtree 및 해시 액세스 방법을 제공합니다 지수. Btree 액세스 방법은 구현입니다 lehman-yao 고전류 btrees. RTREE 액세스 방법 Guttman의 2 차 분할을 사용하여 표준 rtree를 구현합니다 연산. 해시 액세스 방법은 구현입니다 Litwin의 선형 해싱. 우리는 전적으로 사용 된 알고리즘을 언급합니다 이러한 모든 액세스 방법이 완전히 역동적이고 주기적으로 최적화 할 필요는 없습니다 (경우와 마찬가지로 예를 들어, 정적 해시 액세스 방법).
usePostgreSQL : 문서 : 7.1 : 삭제 범퍼카 토토to 스포츠 토토 제거.
thePostgres쿼리 Optimizer 속성은 다음 중 하나를 사용하여 비교에 관여합니다. <=, =, =,
thePostgres쿼리 Optimizer는 rtree 인덱스를 사용할 때마다 사용하는 것을 고려합니다 인덱스 속성은 다음 중 하나를 사용하여 비교에 관여합니다. <<, & <, &, , @, ~ =, &&
thePostgres쿼리 Optimizer는 스포츠 토토이 표시 될 때마다 해시 스포츠 토토 사용을 고려합니다. 속성은를 사용하여 비교에 관여합니다.=운영자.
현재 Btree 액세스 방법 만 지원합니다 다중 열 인덱스. 기본적으로 최대 16 개의 키를 지정할 수 있습니다 (이 한계는 우편둥이를 구축 할 때 변경 될 수 있습니다).
an운영자 클래스지정할 수 있습니다 인덱스의 각 열에 대해. 운영자 클래스는 다음을 식별합니다 해당 열에 대한 인덱스에서 사용할 연산자. 예를 들어, 4 바이트 정수의 btree 지수는를 사용합니다.int4_ops클래스; 이 운영자 클래스에는 포함됩니다 4 바이트 정수의 비교 기능. 실제로 필드의 데이터 유형의 기본 연산자 클래스는 일반적으로 충분한. 운영자 클래스를 갖는 주요 요점은 그 것입니다 일부 데이터 유형의 경우 의미있는 것이 둘 이상있을 수 있습니다. 주문. 예를 들어, 복잡한 수를 정렬 할 수 있습니다 절대 값 또는 실제 부분 별 데이터 유형. 우리는 할 수 있습니다 데이터 유형에 대한 두 개의 운영자 클래스를 정의하여 그런 다음 색인을 만들 때 적절한 클래스를 선택합니다. 거기 있습니다 또한 특별한 목적을 가진 일부 운영자 클래스 :
운영자 클래스box_opsandbigbox_ops둘 다 RTREE를 지원합니다 에 대한 지수Box데이터 유형. 그만큼 그들 사이의 차이점은bigbox_opsScales Box Coordinates Down, To 곱하기로 인한 부동 소수점 예외를 피하십시오. 매우 큰 부동 소수점에 대한 추가 및 뺄셈 좌표. 당신의 사각형이있는 필드가 있다면 약 20,000 대 광장 이상을 사용해야합니다bigbox_ops.
다음 쿼리는 정의 된 모든 연산자 클래스를 보여줍니다.
AM.AMNAME AS ACC_NAME, AM.AMNAME를 선택하십시오. opc.opcname as ops_name, ops_comp로서 opr.oprname PG_AM AM, PG_AMOP AMOP에서 pg_opclass opc, pg_operator opr 여기서 amop.amopid = am.oid and amop.amopClaid = opc.oid 및 amop.amopop = opr.oid acc_name, ops_name, ops_comp의 주문