| PostgreSQL 9.1.24 문서 | ||||
|---|---|---|---|---|
| 이전 | 위로 | 부록 F. 추가 제공 모듈 | 토토 꽁 머니 : 문서 : 9.1 : ISN | |
그인타레이모듈은 다음을 제공합니다. 조작에 유용한 함수 및 연산자의 수 null이 없는 정수 배열. 색인 생성도 지원됩니다. 일부 연산자를 사용하여 검색합니다.
이 모든 작업은 제공된 경우 오류를 발생시킵니다. 배열에는 NULL 요소가 포함되어 있습니다.
이러한 작업 중 다수는 1차원에만 적합합니다. 배열. 더 많은 입력 배열을 허용하지만 차원에서는 데이터가 선형 배열인 것처럼 처리됩니다. 보관 순서대로.
제공되는 기능은인타레이모듈은 다음에 표시됩니다.표 F-10, 연산자테이블 F-11.
표 F-10.인타레이기능
| 기능 | 반환 유형 | 설명 | 예 | 결과 | 
|---|---|---|---|---|
icount(사설 토토 사이트[]) | 
            사설 토토 사이트 | 배열의 요소 수 | icount('1,2,3'::사설 토토 사이트[]) | 3 | 
sort(사설 토토 사이트[], 텍스트
            디렉토리) | 
            정수[] | 배열 정렬 —dir반드시오름차순또는설명 | sort('1,2,3'::사설 토토 사이트[], '설명') | {3,2,1} | 
정렬(정수[]) | 
            정수[] | 오름차순으로 정렬 | 정렬(배열[11,77,44]) | {11,44,77} | 
sort_asc(사설 토토 사이트[]) | 
            정수[] | 오름차순으로 정렬 | ||
sort_desc(사설 토토 사이트[]) | 
            정수[] | 내림차순으로 정렬 | ||
uniq(사설 토토 사이트[]) | 
            정수[] | 인접한 중복 항목 제거 | uniq(sort('1,2,3,2,1'::사설 토토 사이트[])) | {1,2,3} | 
idx(사설 토토 사이트[], 사설 토토 사이트
            목) | 
            사설 토토 사이트 | 첫 번째 요소 일치 색인항목(없으면 0) | idx(배열[11,22,33,22,11], 22) | 2 | 
하위 배열(사설 토토 사이트[], 사설 토토 사이트 시작,
            정수 길이) | 
            정수[] | 위치에서 시작하는 배열 부분시작, 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-11.인타레이연산자
| 운영자 | 반환 | 설명 | 
|---|---|---|
| 정수[] && 정수[] | 부울 | 겹침 —참배열인 경우 하나 이상의 공통 요소가 있어야 합니다. | 
| 사설 토토 사이트[] @ 사설 토토 사이트[] | 부울 | 다음을 포함 —참남은 경우 배열에 오른쪽 배열이 포함되어 있습니다. | 
| 사설 토토 사이트[] <@ 사설 토토 사이트[] | 부울 | 포함 —참남은 경우 배열이 오른쪽 배열에 포함되어 있습니다. | 
| # 정수[] | 사설 토토 사이트 | 배열의 요소 수 | 
| 사설 토토 사이트[] # 사설 토토 사이트 | 사설 토토 사이트 | 색인(동일idx함수) | 
          
| 정수[] + 정수 | 정수[] | 요소를 배열에 푸시합니다(배열의 끝에 추가 정렬) | 
| 사설 토토 사이트[] + 사설 토토 사이트[] | 정수[] | 배열 연결(오른쪽 배열이 끝에 추가됨) 왼쪽 중) | 
| 정수[] - 정수 | 정수[] | 다음에서 올바른 인수와 일치하는 항목을 제거합니다. 정렬 | 
| 정수[] - 정수[] | 정수[] | 왼쪽에서 오른쪽 배열 요소 제거 | 
| 정수[] | 정수 | 정수[] | 인수 결합 | 
| 정수[] | 정수[] | 정수[] | 배열의 합집합 | 
| 정수[] & 정수[] | 정수[] | 배열의 교차점 | 
| 사설 토토 사이트[] @@ query_사설 토토 사이트 | 부울 | 참배열이 만족하는 경우 쿼리(아래 참조) | 
| query_사설 토토 사이트 ~~ 사설 토토 사이트[] | 부울 | 사실배열이 만족하는 경우 쿼리(정류자@@) | 
(PostgreSQL 8.2 이전에는 격리 연산자@그리고<@이었어 각각 호출됨@그리고~. 이 이름은 여전히 사용 가능하지만 더 이상 사용되지 않으며 결국 폐기될 예정입니다. 주의할 점은 오래된 이름은 이전 규칙과 반대로 바뀌었습니다. 핵심 기하학적 데이터 유형!)
운영자&&, @그리고<@다음과 동일함포스트그레SQL의 내장 연산자 같은 이름입니다. 단, 정수 배열에서만 작동한다는 점만 다릅니다. null을 포함하지 않는 반면 내장 연산자는 어떤 경우에도 작동합니다. 배열 유형. 이 제한으로 인해 많은 경우 내장 연산자가 있습니다.
그@@그리고~~연산자는 배열이 다음을 충족하는지 테스트합니다.질의18933_18998query_사설 토토 사이트. 에이질의정수 값으로 구성됩니다. 배열의 요소에 대해 검사됩니다. 연산자를 사용하여 결합&(그리고),|(OR) 및!(아님). 필요에 따라 괄호를 사용할 수 있습니다. 을 위한 예, 쿼리1&(2|3)일치 1을 포함하고 2 또는 3도 포함하는 배열입니다.
인타레이색인 지원 제공 에 대한&&, @, <@및@@연산자 및 일반 배열 평등.
두 개의 GiST 인덱스 연산자 클래스가 제공됩니다:gist__사설 토토 사이트_ops(기본적으로 사용됨)은 다음에 적합합니다. 중소 규모 데이터 세트, 반면gist__사설 토토 사이트big_ops더 큰 서명을 사용하며 대규모 데이터 세트(예: 열)를 인덱싱하는 데 더 적합합니다. 다수의 고유한 배열 값을 포함함). 그만큼 구현에서는 내장된 RD-트리 데이터 구조를 사용합니다. 손실 압축.
기본이 아닌 GIN 연산자 클래스도 있습니다gin__사설 토토 사이트_ops동일한 연산자를 지원합니다.
GiST와 GIN 인덱싱 중 선택은 다음에 따라 다릅니다. GiST와 GIN의 상대적인 성능 특성은 다음과 같습니다. 다른 곳에서 논의되었습니다. 경험상 GIN 지수가 더 빠릅니다. GiST 인덱스보다 검색하지만 구축 또는 업데이트 속도가 느립니다. 그래서 GIN은 정적 데이터에 더 적합하고 GiST는 자주 업데이트되는 데이터에 더 적합합니다. 데이터.
-- 메시지는 하나 이상에 포함될 수 있습니다."섹션"CREATE TABLE 메시지(INT PRIMARY KEY 중간, INT[] 섹션, ...);
-- 특수 인덱스 생성
GIST를 사용하여 INDEX message_rdtree_idx ON 메시지 생성(gist__사설 토토 사이트_ops 섹션);
-- 섹션 1 또는 2에서 메시지 선택 - OVERLAP 연산자
SELECT message.mid FROM message WHERE message.sections && '1,2';
-- 섹션 1과 2에서 메시지를 선택하세요. - CONTAINS 연산자
SELECT message.mid FROM 메시지 WHERE message.sections @ '1,2';
-- QUERY 연산자를 사용하여 동일
SELECT message.mid FROM 메시지 WHERE message.sections @@ '1&2'::query_사설 토토 사이트;
  소스 디렉토리contrib/사설 토토 사이트array/bench벤치마크가 포함되어 있습니다 테스트 스위트. 실행하려면:
cd .../벤치 생성된 테스트 psql 테스트 < ../_사설 토토 사이트.sql ./create_test.pl | psql 테스트 ./bench.pl
그bench.pl스크립트에는 수많은 옵션 없이 실행될 때 표시되는 옵션 인수.
모든 작업은 Teodor Sigaev에 의해 수행되었습니다 (<teodor@sigaev.ru) 및
    올렉 바르투노프(<oleg@sai.msu.su). 보다http://www.sai.msu.su/~megera/postgres/gist/용
    추가 정보. Andrey Oktyabrski가 훌륭한 작업을 수행했습니다.
    새로운 기능과 작업을 추가합니다.
| 이전 | 집 | 토토 꽁 머니 : 문서 : 9.1 : ISN | 
| 사설 토토 사이트agg | 위로 | isn |