2025년 9월 25일:토토 커뮤니티 : 토토
이 문서는 지원되지 않는 젠 토토 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.현재버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

57.3. 구현

내부적으로, a색인 키에 대해 구성된 B-트리 인덱스를 포함하며, 여기서 각 키는 하나 이상의 인덱싱된 항목의 요소(배열의 멤버, 예) 리프 페이지의 각 튜플에는 다음 중 하나가 포함됩니다. 힙 포인터의 B-트리에 대한 포인터(a"게시 트리") 또는 간단한 힙 포인터 목록 (a"게시 목록") 목록이 다음과 같은 경우 키와 함께 단일 인덱스 튜플에 들어갈 만큼 작습니다. 값.

현재포스트그레SQL9.1, 널 키 값이 인덱스에 포함될 수 있습니다. 또한 자리 표시자 null은 다음과 같습니다. null이거나 null이 포함되지 않은 인덱싱된 항목의 인덱스에 포함됩니다. 에 따른 키추출값. 이 빈 항목을 찾아야 하는 검색을 허용합니다.

다중 열색인은 복합 값에 대해 단일 B-트리를 구축하여 구현됨 (열 번호, 키 값). 다양한 열의 키 값 다양한 유형이 있을 수 있습니다.

57.3.1. GIN 빠른 업데이트 기술

업데이트 중색인은 다음과 같은 경향이 있습니다. 반전된 인덱스의 본질적인 특성으로 인해 속도가 느려집니다. 하나의 힙 행을 삽입하거나 업데이트하면 인덱스(인덱싱된 항목에서 추출된 각 키에 대해 하나씩). 현재젠 토토 8.4, 이 작업의 대부분을 연기할 수 있습니다 정렬되지 않은 임시 보류 목록에 새 튜플을 삽입하여 항목. 테이블이 정리되거나 보류 목록이 다음 상태가 되는 경우 너무 큼(다음보다 큼)work_mem), 항목이 기본으로 이동됩니다.동일한 대량 삽입을 사용하는 데이터 구조 초기 인덱스 생성 중에 사용되는 기술입니다. 이 크게 개선됨색인 업데이트 속도, 추가 진공 오버헤드도 계산합니다. 게다가 오버헤드도 포그라운드가 아닌 백그라운드 프로세스로 작업을 수행할 수 있습니다. 쿼리 처리.

이 접근 방식의 가장 큰 단점은 검색이 검색 외에도 보류 중인 항목 목록을 검색합니다. 일반 인덱스이므로 대기 중인 항목이 많으면 속도가 느려집니다. 크게 검색합니다. 또 다른 단점은 대부분의 경우 업데이트가 빠르며 보류 목록이 되는 업데이트입니다."너무 큽니다"즉시 발생합니다. 정리 주기가 느려지므로 다른 업데이트보다 훨씬 느립니다. 적절한 autovacuum을 사용하면 이러한 문제를 모두 최소화할 수 있습니다.

업데이트 속도보다 일관된 응답 시간이 더 중요하다면, 보류 중인 항목의 사용은 다음을 꺼서 비활성화할 수 있습니다.빠른 업데이트a에 대한 저장 매개변수색인. 참조색인 생성자세한 내용은.

57.3.2. 부분 일치 알고리즘

GIN이 지원할 수 있습니다"부분 일치"쿼리가 다음에 대한 정확한 일치를 결정하지 못하는 쿼리 하나 이상의 키가 있지만 가능한 일치 항목은 합리적으로 좁은 범위의 키 값(결정된 키 정렬 순서 내에서) 에 의해비교지원 방법).추출쿼리메소드, 대신 정확하게 일치할 키 값을 반환하고, 키 값을 반환합니다. 이는 검색할 범위의 하한이며, 다음을 설정합니다.pmatch플래그가 참입니다. 키 범위는 다음과 같습니다. 다음을 사용하여 스캔했습니다.비교부분방법.비교부분반드시 반환되어야 함 일치하는 인덱스 키의 경우 0이고 일치하지 않는 경우 0보다 작습니다. 여전히 검색할 범위 내에 있거나 0보다 큰 경우 인덱스 키가 일치할 수 있는 범위를 벗어났습니다.