| 포스트그레SQL 8.3.23 문서 | ||||
|---|---|---|---|---|
| 이전 | 빠르게 뒤로 | 부록 F. 추가 제공 모듈 | 빨리 감기 | 토토 사이트 추천 PostgreSQL : 문서 : 8.3 : ISN |
그인타레이모듈은 다음을 제공합니다. 조작에 유용한 함수 및 연산자의 수 1차원 정수 배열. 에 대한 지원도 있습니다. 일부 연산자를 사용한 색인 검색입니다.
표 F-7.인타레이기능
| 기능 | 반환 유형 | 설명 | 예 | 결과 |
|---|---|---|---|---|
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-8.인타레이연산자
| 운영자 | 반품 | 설명 |
|---|---|---|
| 정수[] && 정수[] | 부울 | 겹침 —참배열인 경우 하나 이상의 공통 요소가 있어야 합니다. |
| 스포츠 토토 베트맨[] @ 스포츠 토토 베트맨[] | 부울 | 포함 —참남은 경우 배열에 오른쪽 배열이 포함되어 있습니다. |
| 스포츠 토토 베트맨[] <@ 스포츠 토토 베트맨[] | 부울 | 포함 —참남은 경우 배열이 오른쪽 배열에 포함되어 있습니다. |
| # 정수[] | 스포츠 토토 베트맨 | 배열의 요소 수 |
| 스포츠 토토 베트맨[] # 스포츠 토토 베트맨 | 스포츠 토토 베트맨 | 색인(동일idx함수) |
| 정수[] + 정수 | 정수[] | 요소를 배열에 푸시합니다(배열의 끝에 추가) 배열) |
| 스포츠 토토 베트맨[] + 스포츠 토토 베트맨[] | 정수[] | 배열 연결(오른쪽 배열이 끝에 추가됨) 왼쪽 중) |
| 정수[] - 정수 | 정수[] | 다음에서 올바른 인수와 일치하는 항목을 제거합니다. 배열 |
| 정수[] - 정수[] | 정수[] | 왼쪽에서 오른쪽 배열 요소 제거 |
| 정수[] | 정수 | 정수[] | 인수 합집합 |
| 정수[] | 정수[] | 정수[] | 배열의 합집합 |
| 정수[] & 정수[] | 정수[] | 배열의 교차점 |
| 스포츠 토토 베트맨[] @@ query_스포츠 토토 베트맨 | 부울 | 참배열이 만족하는 경우 쿼리(아래 참조) |
| query_스포츠 토토 베트맨 ~~ 스포츠 토토 베트맨[] | 부울 | 참배열이 만족하는 경우 쿼리(정류자@@) |
(PostgreSQL 8.2 이전에는 포함 연산자 @ 및 <@는 각각 @, ~라고 불렀습니다. 이 이름들은 아직도 사용할 수 있지만 더 이상 사용되지 않으며 결국 폐기될 예정입니다. 이전 이름은 규칙과 반대입니다. 이전에는 핵심 기하학적 데이터 유형이 뒤따랐습니다!)
그@@그리고~~연산자는 배열이 다음을 충족하는지 테스트합니다.질의17876_17941query_스포츠 토토 베트맨. 갑질의정수 값으로 구성됩니다. 배열의 요소에 대해 검사됩니다. 연산자를 사용하여 결합&(그리고),|(OR) 및!(아닙니다). 필요에 따라 괄호를 사용할 수 있습니다. 에 대한 예, 쿼리1&(2|3)일치 1을 포함하고 2 또는 3도 포함하는 배열입니다.
인타레이색인 지원 제공 에 대한&&, @, <@및@@연산자 및 일반 배열 평등. 구현에서는 RD-트리 데이터 구조를 사용합니다. 손실 압축이 내장되어 있습니다.
두 개의 GiST 인덱스 연산자 클래스가 제공됩니다:gist__스포츠 토토 베트맨_ops(기본적으로 사용됨)은 다음에 적합합니다. 중소형 배열, 반면gist__스포츠 토토 베트맨big_ops더 큰 서명을 사용하며 대규모 배열을 인덱싱하는 데 더 적합합니다.
기본이 아닌 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@stack.net) 및
올렉 바르투노프(<oleg@sai.msu.su). 참조http://www.sai.msu.su/~megera/postgres/gist용
추가 정보. Andrey Oktyabrski가 훌륭한 작업을 수행했습니다.
새로운 기능과 작업을 추가합니다.
| 이전 | 홈 | 토토 사이트 추천 PostgreSQL : 문서 : 8.3 : ISN |
| 스포츠 토토 베트맨agg | 위로 | isn |