지원되는 버전 :현재(17) /16 / 15 / 14 / 13
개발 버전 :18 / Devel
지원되지 않는 버전 :12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3
이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 보려고 할 수 있습니다current버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

F.12. 스포츠 토토 베트맨array

the스포츠 토토 베트맨array모듈 제공 a 조작을위한 유용한 기능 및 연산자 수 1 차원 정수 배열. 지원도 있습니다 일부 연산자를 사용하여 색인 검색.

F.12.1.스포츠 토토 베트맨array기능 및 연산자

테이블 F-7.스포츠 토토 베트맨array기능

기능 반환 유형 설명 example 결과
iCount (스포츠 토토 베트맨 []) 스포츠 토토 베트맨 배열의 요소 수 iCount ( '1,2,3':: 스포츠 토토 베트맨 []) 3
sort (스포츠 토토 베트맨 [], 텍스트 dir) 스포츠 토토 베트맨 [] 정렬 배열 -dirASC또는desc sort ( '1,2,3':: 스포츠 토토 베트맨 [], 'desc') 3,2,1
sort (스포츠 토토 베트맨 []) 스포츠 토토 베트맨 [] 오름차순 순서로 정렬 sort (배열 [11,77,44]) 11,44,77
sort_asc (스포츠 토토 베트맨 []) 스포츠 토토 베트맨 [] 오름차순 순서로 정렬
​​Sort_desc (스포츠 토토 베트맨 []) 스포츠 토토 베트맨 [] 내림차순으로 정렬
uniq (스포츠 토토 베트맨 []) 스포츠 토토 베트맨 [] 인접한 복제 제거 uniq (sort ( '1,2,3,2,1':: 스포츠 토토 베트맨 []) 1,2,3
idx (스포츠 토토 베트맨 [], 스포츠 토토 베트맨 목) 스포츠 토토 베트맨 첫 번째 요소 일치의 색인항목(0이면 0) idx (배열 [11,22,33,22,11], 22) 2
서브 어레이 (스포츠 토토 베트맨 [], 스포츠 토토 베트맨 start, 스포츠 토토 베트맨 len) 스포츠 토토 베트맨 [] 위치에서 시작하는 배열 부분시작, Len요소 서브 어레이 ( '1,2,3,2,1':: 스포츠 토토 베트맨 [], 2, 3) 2,3,2
서브 어레이 (스포츠 토토 베트맨 [], 스포츠 토토 베트맨 시작) 스포츠 토토 베트맨 [] 위치에서 시작하는 배열 부분시작 서브 어레이 ( '1,2,3,2,1':: 스포츠 토토 베트맨 [], 2) 2,3,2,1
스포츠 토토 베트맨set (스포츠 토토 베트맨) 스포츠 토토 베트맨 [] 단일 요소 배열 만들기 스포츠 토토 베트맨set (42) 42

테이블 F-8.스포츠 토토 베트맨array운영자

운영자 반환 설명
스포츠 토토 베트맨 [] && 스포츠 토토 베트맨 [] 부울 오버랩 -true배열 인 경우 하나 이상의 공통 요소가 있습니다
스포츠 토토 베트맨 [] @ 스포츠 토토 베트맨 [] 부울 포함 -true남은 경우 배열에 오른쪽 배열이 포함되어 있습니다
스포츠 토토 베트맨 [] <@ 스포츠 토토 베트맨 [] 부울 포함 -true남은 경우 배열은 오른쪽 배열에 포함되어 있습니다
# 스포츠 토토 베트맨 [] 스포츠 토토 베트맨 배열의 요소 수
스포츠 토토 베트맨 [] # 스포츠 토토 베트맨 스포츠 토토 베트맨 index (동일idx기능)
스포츠 토토 베트맨 [] + 스포츠 토토 베트맨 스포츠 토토 베트맨 [] 배열에 요소를 푸시하십시오 (끝에 추가하십시오 정렬)
스포츠 토토 베트맨 [] + 스포츠 토토 베트맨 [] 스포츠 토토 베트맨 [] 배열 연결 (오른쪽 배열이 끝에 추가되었습니다 왼쪽 하나)
스포츠 토토 베트맨 [] - 스포츠 토토 베트맨 스포츠 토토 베트맨 [] 올바른 인수 일치하는 항목을 제거합니다 정렬
스포츠 토토 베트맨 [] - 스포츠 토토 베트맨 [] 스포츠 토토 베트맨 [] 왼쪽에서 오른쪽 배열의 요소 제거
스포츠 토토 베트맨 [] | 스포츠 토토 베트맨 스포츠 토토 베트맨 [] 논증의 연합
스포츠 토토 베트맨 [] | 스포츠 토토 베트맨 [] 스포츠 토토 베트맨 [] 어레이의 연합
스포츠 토토 베트맨 [] & 스포츠 토토 베트맨 [] 스포츠 토토 베트맨 [] 배열 교차점
스포츠 토토 베트맨 [] @@ query_스포츠 토토 베트맨 부울 true배열이 충족되는 경우 쿼리 (아래 참조)
query_스포츠 토토 베트맨 ~~ 스포츠 토토 베트맨 [] 부울 true배열이 충족되는 경우 쿼리 (@@)

(PostgreSQL 8.2 이전, 격리 연산자 @ < @는 각각 @와 ~라고 불 렸습니다. 이 이름은 여전히 ​​있습니다 사용 가능하지만 감가 상각되며 결국 은퇴 할 것입니다. 이전 이름은 컨벤션에서 반전됩니다. 이전에는 핵심 기하학적 데이터 유형이 이어졌습니다!)

the@@and~~운영자는 배열이 A를 충족하는지 테스트합니다쿼리, 값으로 표현됩니다 전문 데이터 유형query_스포츠 토토 베트맨. 에이쿼리정수 값으로 구성됩니다 배열의 요소에 대해 확인합니다 연산자를 사용하여 결합&(및),|(또는) 및!(아님). 괄호는 필요에 따라 사용할 수 있습니다. 을 위한 예, 쿼리1 & (2 | 3)일치합니다 1 1을 포함하고 2 또는 3을 포함하는 배열

F.12.2. 인덱스 지원

스포츠 토토 베트맨array인덱스 지원을 제공합니다&&, @, <@@@운영자 및 일반 배열 평등. 구현은 RD-Tree 데이터 구조를 사용합니다 내장 된 손실 압축으로.

2 개의 요점 인덱스 운영자 클래스가 제공됩니다 :gist__스포츠 토토 베트맨_ops(기본적으로 사용)는 적합합니다 중소 크기의 배열,gist__스포츠 토토 베트맨big_ops더 큰 서명을 사용합니다 큰 배열을 인덱싱하는 데 더 적합합니다.

비 기본 진 운영자 클래스도 있습니다gin__스포츠 토토 베트맨_ops.

GIST와 GIN 인덱싱 사이의 선택은 Gist와 Gin의 상대적 성능 특성 다른 곳에서 논의했습니다. 경험상 진수 지수가 더 빠릅니다. GIST 지수보다 검색하지만 빌드 또는 업데이트가 느리게 진행됩니다. 그래서 진은 정적 데이터에 더 적합하고 자주 업데이트 된 경우 요점이 더 적합합니다. 데이터.

F.12.3. 예

- 메시지는 하나 이상일 수 있습니다"섹션"테이블 메시지 작성 (Mid 스포츠 토토 베트맨 기본 키, 섹션 스포츠 토토 베트맨 [], ...);

- 특수 인덱스를 만듭니다
GIST를 사용하여 메시지에서 색인 Message_rdTree_idx를 작성하십시오 (GIST__INT_OPS 섹션);

- 섹션 1 또는 2에서 메시지 선택 - 연산자 중첩
Message.Sections && '1,2';

- 섹션 1 및 2에서 메시지 선택 - 운영자가 포함됩니다.
message.sections.sections @ '1,2';

- 쿼리 연산자를 사용하여 동일합니다
Message.sections.sections.sections.sections.sections.sections.sections.mid를 선택하십시오.

F.12.4. 기준

소스 디렉토리Contrib/스포츠 토토 베트맨array/Bench벤치 마크를 포함합니다 테스트 스위트. 달리기 :

CD .../벤치
   생성 된 테스트
   psql test <../_스포츠 토토 베트맨.sql
   ./create_test.pl | PSQL 테스트
   ./Bench.pl

theBench.pl스크립트에는 많습니다 옵션은 아무것도없이 실행될 때 표시되는 옵션 논쟁.

F.12.5. 저자

모든 작업은 Teodor Sigaev (에 의해 수행되었습니다.) 및 Oleg Bartunov (). 보다http : //www.sai.msu.su/~megera/postgres/gist추가 정보. Andrey Oktyabrski는 훌륭한 일을했습니다 새로운 기능 및 운영 추가.