롤 토토 : 문서 : 9.5 : 롤 토토 | |||
---|---|---|---|
토토 캔 : 문서 : 9.5 : Extensibility | 스포츠 토토 : 문서 : 9.5 : 진 인덱스 | 61 장. 진 인덱스 | PostgreSQL : 문서 : 9.5 : 진 팁 및 토토 핫 |
내부적으로 A진인덱스는 키를 통해 구성된 B- 트리 색인이 포함되어 있으며, 각 키는 하나 이상의 색인 된 항목 (예 : 배열 구성원)의 요소이며 잎 페이지의 각 튜플에 heap 포인터의 B- 트리에 대한 포인터가 포함되어 있습니다 (A"게시 트리") 또는 힙 포인터의 간단한 목록 (a"게시 목록") 목록이 키 값과 함께 단일 인덱스 튜플에 적합 할 정도로 작을 때.
PostgreSQL9.1, 널 키 값이 인덱스에 포함될 수 있습니다. 또한 자리 표시 자 널은 널 또는 키가 포함 된 인덱스 품목에 대한 색인에 포함되어 있습니다.ExtractValue
. 이를 통해 빈 항목을 찾을 수있는 검색이 가능합니다.
멀티 컬럼진인덱스는 복합 값 (열 번호, 키 값)을 통해 단일 B- 트리를 구축하여 스포츠 토토됩니다. 다른 열의 핵심 값은 다른 유형 일 수 있습니다.
a 스포츠 토토gin반전 인덱스의 고유 특성으로 인해 인덱스가 느려지는 경향이 있습니다. 하나의 힙 행을 삽입하거나 스포츠 토토하면 많은 인서트가 인덱스에 삽입 될 수 있습니다 (인덱스 된 항목에서 추출한 각 키마다 하나). 기준postgresql 8.4, 진새로운 튜플을 임시로 분류되지 않은 보류 항목 목록에 삽입 하여이 작업의 많은 부분을 연기 할 수 있습니다. 테이블이 진공 청소기가 발생하거나 보류중인 목록이보다 커지는 경우gin_pending_list_limit, 항목이 메인으로 이동진초기 인덱스 생성 중에 사용되는 동일한 벌크 삽입 기술을 사용한 데이터 구조. 이것은 크게 향상됩니다gin인덱스 스포츠 토토 속도, 추가 진공 오버 헤드를 계산하기도합니다. 또한 오버 헤드 작업은 전경 쿼리 처리 대신 백그라운드 프로세스로 수행 할 수 있습니다.
이 접근법의 주요 단점은 검색이 일반 색인을 검색하는 것 외에도 보류중인 항목 목록을 스캔해야하므로 보류중인 항목 목록이 크게 느려질 것입니다. 또 다른 단점은 대부분의 스포츠 토토가 빠르지 만 보류중인 목록이되게하는 스포츠 토토입니다."너무 큰"즉시 정리주기가 발생하므로 다른 스포츠 토토보다 훨씬 느려집니다. Autovacuum을 올바르게 사용하면이 두 가지 문제를 모두 최소화 할 수 있습니다.
일관된 응답 시간이 스포츠 토토 속도보다 더 중요한 경우, 보류중인 항목의 사용을 끄면 비활성화 할 수 있습니다Fastupdatea 스토리지 매개 변수gin색인. 보다색인 생성자세한 내용.
진은 지원할 수 있습니다"부분 경기"쿼리가 하나 이상의 키에 대한 정확한 일치를 결정하지 않지만 가능한 일치는 합리적으로 좁은 키 값 범위 내에 속합니다 (비교
지원 방법). 그만큼ExtractQuery
메소드는 정확히 일치 할 키 값을 반환하는 대신 검색 할 범위의 하한 인 키 값을 반환하고를 설정합니다.PMATCH플래그 참. 그런 다음 키 범위가를 사용하여 스캔됩니다.비교적
메소드비교 상점
일치하는 인덱스 키의 경우 0을 반환해야합니다. 검색 할 범위 내에있는 비 일치의 경우 0보다 적거나 인덱스 키가 일치 할 수있는 범위를 지나면 0보다 큰 0보다 작습니다..