Postgresql 9.0.23 문서 | ||||
---|---|---|---|---|
이전 | up | 부록 F. 추가 제공된 모듈 | 스포츠 토토 사이트 : 문서 : 9.0 : ISN |
the와이즈 토토array모듈 제공 a 조작을위한 유용한 기능 및 연산자 수 1 차원 정수 배열. 지원도 있습니다 일부 연산자를 사용하여 색인 검색.
테이블 F-8.와이즈 토토array기능
기능 | 반환 유형 | 설명 | example | 결과 |
---|---|---|---|---|
iCount (와이즈 토토 []) |
와이즈 토토 | 배열의 요소 수 | iCount ( '1,2,3':: 와이즈 토토 []) | 3 |
sort (와이즈 토토 [], 텍스트
dir) |
와이즈 토토 [] | 정렬 배열 -dirASC또는desc | sort ( '1,2,3':: 와이즈 토토 [], 'desc') | 3,2,1 |
sort (와이즈 토토 []) |
와이즈 토토 [] | 오름차순 순서로 정렬 | Sort (Array [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-9.와이즈 토토array운영자
운영자 | 반환 | 설명 |
---|---|---|
와이즈 토토 [] && 와이즈 토토 [] | 부울 | 오버랩 -true배열 인 경우 하나 이상의 공통 요소가 있습니다 |
와이즈 토토 [] @ 와이즈 토토 [] | 부울 | 포함 -true남은 경우 배열에 오른쪽 배열이 포함되어 있습니다 |
와이즈 토토 [] <@ 와이즈 토토 [] | 부울 | 포함 -true남은 경우 배열은 오른쪽 배열에 포함되어 있습니다 |
# 와이즈 토토 [] | 와이즈 토토 | 배열의 요소 수 |
와이즈 토토 [] # 와이즈 토토 | 와이즈 토토 | index (동일idx 기능) |
와이즈 토토 [] + 와이즈 토토 | 와이즈 토토 [] | 배열에 요소를 푸시하십시오 (끝에 추가하십시오 정렬) |
와이즈 토토 [] + 와이즈 토토 [] | 와이즈 토토 [] | 배열 연결 (오른쪽 배열이 끝에 추가되었습니다 왼쪽 하나) |
와이즈 토토 [] - 와이즈 토토 | 와이즈 토토 [] | 오른쪽 인수 일치하는 항목을 제거합니다 정렬 |
와이즈 토토 [] - 와이즈 토토 [] | 와이즈 토토 [] | 왼쪽에서 오른쪽 배열의 요소 제거 |
와이즈 토토 [] | 와이즈 토토 | 와이즈 토토 [] | 논증의 연합 |
와이즈 토토 [] | 와이즈 토토 [] | 와이즈 토토 [] | 어레이의 연합 |
와이즈 토토 [] & 와이즈 토토 [] | 와이즈 토토 [] | 배열 교차점 |
와이즈 토토 [] @@ query_와이즈 토토 | 부울 | true배열이 충족되는 경우 쿼리 (아래 참조) |
query_와이즈 토토 ~~ 와이즈 토토 [] | 부울 | true배열이 충족되는 경우 쿼리 (@@) |
(Postgresql 8.2 이전, 격리 연산자@and<@각각 호출@and~. 이 이름은 여전히 사용 가능하지만 그렇습니다 감가 상각되고 결국 은퇴 할 것이다. 노인을 주목하십시오 이름은 이전에 컨벤션에서 반전 된 후 핵심 기하학적 데이터 유형!)
격리 연산자@and<@대략 동일합니다PostgreSQL의 내장 동일한 이름의 운영자는 내장 연산자가 모든 어레이에서 작동하는 동안 정수 배열 유형. 중요한 차이점은와이즈 토토array의 연산자는 빈 것을 고려하지 않습니다 배열은 다른 것에 포함됩니다. 이것은 일치합니다 진-인덱스 쿼리의 동작이지만 평소와는 달리 격리의 수학적 정의.
the@@and~~운영자는 배열이 A를 충족하는지 테스트합니다쿼리, 값으로 표현됩니다 전문 데이터 유형query_와이즈 토토. 에이쿼리정수 값으로 구성됩니다 배열의 요소에 대해 확인합니다 연산자를 사용하여 결합&(및),|(또는) 및!(아님). 괄호는 필요에 따라 사용할 수 있습니다. 을 위한 예, 쿼리1 & (2 | 3)일치합니다 1 1을 포함하고 2 또는 3을 포함하는 배열
와이즈 토토array인덱스 지원을 제공합니다&&, @, <@및@@운영자 및 일반 배열 평등.
2 개의 요점 인덱스 운영자 클래스가 제공됩니다.gist__와이즈 토토_ops(기본적으로 사용)는 적합합니다 중소형 데이터 세트,gist__와이즈 토토big_ops더 큰 서명을 사용합니다 큰 데이터 세트 (즉, 열 다수의 별개의 배열 값을 포함합니다). 그만큼 구현은 내장 된 RD-Tree 데이터 구조를 사용합니다 손실 압축.
비 디폴트 진 운영자 클래스도 있습니다gin__와이즈 토토_ops동일한 연산자 지원.
GIST와 GIN 인덱싱 사이의 선택은 Gist와 Gin의 상대적 성능 특성 다른 곳에서 논의했습니다. 경험상 진수 지수가 더 빠릅니다. GIST 지수보다 검색하지만 빌드 또는 업데이트가 느리게 진행됩니다. 그래서 진은 정적 데이터에 더 적합하고 자주 업데이트 된 경우 요점이 더 적합합니다. 데이터.
- 메시지는 하나 이상일 수 있습니다"섹션"테이블 메시지 작성 (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를 선택하십시오.
소스 디렉토리Contrib/와이즈 토토array/Bench벤치 마크를 포함합니다 테스트 스위트. 달리기 :
CD .../벤치 생성 된 테스트 psql test <../_와이즈 토토.sql ./create_test.pl | PSQL 테스트 ./Bench.pl
theBench.pl스크립트에는 많습니다 옵션은 아무것도없이 실행될 때 표시되는 옵션 논쟁.
모든 작업은 Teodor Sigaev (에 의해 수행되었습니다.<reodor@sigaev.ru
) 및
Oleg Bartunov (<oleg@sai.msu.su
). 보다http : //www.sai.msu.su/~megera/postgres/gist/추가 정보. Andrey Oktyabrski는 훌륭한 일을했습니다
새로운 기능 및 운영 추가.
이전 | 홈 | 스포츠 토토 사이트 : 문서 : 9.0 : ISN |
와이즈 토토agg | up | ISN |