색인 생성

색인 생성 - 새 인덱스 정의

시놉시스

[고유 한] 색인 만들기 [동시에] [[존재하지 않으면]이름] on [Only]table_name[사용메소드]
    (column_name| (표현) [CollateCollation] [opclass[(opclass_parameter=value[, ...])]] [asc | desc] [nulls 첫 번째 | 마지막  ] [, ...] )
    [ 포함하다 (column_name[, ...])]
    [NULLS [뚜렷하지 않음]
    [ 와 함께 (Storage_Parameter[=value] [, ...])]
    [테이블 스페이스TableSpace_name]
    [ 어디술어]

설명

색인 생성지정된 관계의 지정된 열에 메이저 토토 사이트를 구성하며, 이는 테이블 또는 구체화 된보기 일 수 있습니다. 메이저 토토 사이트는 주로 데이터베이스 성능을 향상시키는 데 사용됩니다 (부적절한 사용은 성능이 느려질 수 있지만).

인덱스의 키 필드는 열 이름으로 지정되거나 괄호로 작성된 표현식으로 지정됩니다. 인덱스 메소드가 멀티 컬럼 인덱스를 지원하는 경우 여러 필드를 지정할 수 있습니다.

인덱스 필드는 테이블 행의 하나 이상의 열 값에서 계산 된 표현식 일 수 있습니다. 이 기능은 기본 데이터의 일부 변환에 따라 데이터에 대한 빠른 액세스를 얻는 데 사용될 수 있습니다. 예를 들어, 계산 된 색인어퍼 (col)조항을 허용합니다여기서 상단 (col) = 'Jim'​​색인을 사용하려면

PostgreSQL색인 방법 B-Tree, HASH, GIST, SP-GIST, GIN 및 BRIN을 제공합니다. 사용자는 또한 자체 색인 방법을 정의 할 수 있지만 상당히 복잡합니다.

언제여기서조항이 있습니다.부분 색인생성됩니다. 부분 색인은 테이블의 일부에 대한 항목을 포함하는 색인이며, 일반적으로 나머지 테이블보다 인덱싱에 더 유용한 부분입니다. 예를 들어, 청구되지 않은 주문이 포함 된 청구되지 않은 명령과 채워지지 않은 주문이 모두 포함 된 테이블이있는 경우, 전체 테이블의 작은 부분을 차지하지만 종종 사용되는 섹션 인 경우 해당 부분에 대한 인덱스를 만들어 성능을 향상시킬 수 있습니다. 또 다른 가능한 응용 프로그램은 사용하는 것입니다여기서with고유 한테이블의 하위 집합에 대한 독창성을 시행합니다. 보다PostgreSQL : 문서 : 17 : 11.8. 사설 토토 색인더 많은 토론을 위해.

여기서절은 기본 테이블의 열만 참조 할 수 있지만 색인화 된 열뿐만 아니라 모든 열을 사용할 수 있습니다. 현재 하위 쿼리 및 집계 표현은 또한 금지되어 있습니다.여기서. 표현식 인 색인 필드에는 동일한 제한이 적용됩니다.

메이저 토토 사이트 정의에 사용되는 모든 기능 및 연산자불변이 제한은 지수의 동작이 잘 정의되어 있는지 확인합니다. 인덱스 표현식에서 사용자 정의 함수를 사용하거나여기서조항, 만들 때 불변 할 수없는 기능을 표시하십시오.

매개 변수

고유 한

메이저 토토 사이트가 생성 될 때 (데이터가 이미 존재하는 경우) 데이터가 추가 될 때 시스템이 테이블의 중복 값을 확인하게합니다. 중복 항목을 초래할 데이터를 삽입하거나 업데이트하려는 시도는 오류가 발생합니다.

분할 된 테이블에 고유 메이저 토토 사이트가 적용될 때 추가 제한이 적용됩니다. 보다테이블 생성.

동시에

이 옵션이 사용될 때postgresql테이블에서 동시 인서트, 업데이트 또는 삭제를 방지하는 잠금 장치를 사용하지 않고 메이저 토토 사이트를 구축합니다. 표준 메이저 토토 사이트 빌드는 끝날 때까지 테이블에 쓴 (읽지 않음)가 잠금됩니다. 이 옵션을 사용할 때 알아야 할 몇 가지 경고가 있습니다. 참조동시에 건물 색인아래.

임시 테이블의 경우색인 생성| 다른 세션에 액세스 할 수없고, 비 일치한 메이저 토토 사이트 생성은 저렴합니다.

존재하지 않으면

같은 이름과의 관계가 이미 존재하는 경우 오류를 던지지 마십시오. 이 경우 통지가 발행됩니다. 기존 인덱스가 생성 된 인덱스와 비슷하다는 보장은 없습니다. 인덱스 이름이 필요합니다존재하지 않는 경우지정되어 있습니다.

포함

선택 사항포함절은 색인에 포함될 열 목록을 지정합니다.비 키열. 비 키 열은 인덱스 스캔 검색 자격에 사용될 수 없으며 인덱스에 의해 시행되는 독창성 또는 배제 제약 조건을 위해 무시됩니다. 그러나 인덱스 전용 스캔은 인덱스 테이블을 방문하지 않고도 비 키 열의 내용을 반환 할 수 있습니다. 인덱스 항목에서 직접 사용할 수 있기 때문입니다. 따라서 비 키 열을 추가하면 인덱스 전용 스캔이 사용될 수없는 쿼리에 사용할 수 있습니다.

지수, 특히 넓은 열에 비 키 열을 추가하는 것이 보수적 인 것이 좋습니다. 인덱스 튜플이 인덱스 유형에 허용되는 최대 크기를 초과하면 데이터 삽입이 실패합니다. 어쨌든, 비 키 열은 인덱스 테이블에서 데이터를 복제하고 인덱스 크기를 부풀려서 검색이 느려질 수 있습니다. 또한 B-Tree 중복 제거는 비 키 열이있는 인덱스와 함께 사용되지 않습니다.

열에 나열된 열포함조항은 적절한 운영자 클래스가 필요하지 않습니다. 이 조항에는 데이터 유형이 주어진 액세스 방법에 대해 정의 된 운영자 클래스가없는 열이 포함될 수 있습니다.

표현식은 인덱스 전용 스캔으로 사용할 수 없으므로 포함 된 열로 지원되지 않습니다.

현재 B-Tree, GIST 및 SP-GIST 인덱스 액세스 방법은이 기능을 지원합니다. 이 인덱스에서는에 나열된 열의 값이포함조항은 힙 튜플에 해당하지만 트리 내비게이션에 사용되는 상위 레벨 인덱스 항목에는 포함되지 않은 잎 튜플에 포함되어 있습니다.

이름

생성 될 인덱스의 이름. 여기에는 스키마 이름이 포함될 수 없습니다. 인덱스는 항상 상위 테이블과 동일한 스키마에서 생성됩니다. 인덱스의 이름은 해당 스키마의 다른 관계 (테이블, 시퀀스, 인덱스, 뷰, 구체화 된보기 또는 외국 테이블)의 이름과 구별되어야합니다. 이름이 생략되면PostgreSQL상위 테이블의 이름과 색인 된 열 이름을 기준으로 적합한 이름을 선택합니다.

전용

테이블이 분할 된 경우 파티션에서 메이저 토토 사이트 생성을 재발하지 않음을 나타냅니다. 기본값은 재발하는 것입니다.

table_name

색인화 할 테이블의 이름 (schema-qualified).

메소드

사용할 인덱스 메소드의 이름. 선택은btree, Hash, gist, SPGIST, , 브린또는 사용자가 설치 한 액세스 방법과 같은PostgreSQL : 문서 : 17 : F.6. 블룸 - 블룸 필터 토토 핫 액세스 방법. 기본 메소드는입니다.btree.

column_name

테이블 열의 이름.

표현

테이블의 하나 이상의 열을 기반으로 한 표현. 표현식은 일반적으로 구문에 표시된 것처럼 주변 괄호로 작성되어야합니다. 그러나 표현식에 함수 호출 형태가 있으면 괄호를 생략 할 수 있습니다.

Collation

인덱스에 사용할 수있는 콜레이션 이름. 기본적으로 인덱스는 열이 색인화 될 수 있도록 선언 된 Collation을 사용하거나 표현식의 결과가 인덱싱 될 수 있습니다. 비 디폴트 콜라주가있는 인덱스는 비 디폴트 콜라주를 사용하는 표현식이 포함 된 쿼리에 유용 할 수 있습니다.

opclass

운영자 클래스의 이름. 자세한 내용은 아래를 참조하십시오.

opclass_parameter

운영자 클래스 매개 변수의 이름. 자세한 내용은 아래를 참조하십시오.

ASC

오름차순 정렬 순서 (기본값)를 지정합니다.

desc

내림차순 정렬 순서를 지정합니다.

Nulls First

nulls 전에 널 정렬을 지정합니다. 이것은 기본값입니다desc지정되어 있습니다.

널 마지막

널이 아닌 후에 널이 정렬되도록 지정합니다. 이것은 기본값입니다desc지정되지 않았습니다.

Nulls Distine
널 뚜렷하지 않음

고유 인덱스의 경우 널 값이 별개로 간주되어야하는지 여부를 지정합니다 (동일하지 않음). 기본값은 고유 인덱스가 열에 여러 널 값을 포함 할 수 있도록 구별된다는 것입니다.

Storage_Parameter

인덱스-메드 특정 스토리지 매개 변수의 이름. 보다인덱스 스토리지 매개 변수자세한 내용은 아래.

TableSpace_name

메이저 토토 사이트를 생성 할 테이블 스페이스. 지정되지 않은 경우default_tablespace상담 또는temp_tablespaces임시 테이블의 메이저 토토 사이트 용

술어

부분 색인에 대한 제약 조건 표현.

인덱스 스토리지 매개 변수

선택 사항with조항을 지정합니다스토리지 매개 변수인덱스. 각 인덱스 방법에는 자체 허용 스토리지 매개 변수 세트가 있습니다. B-Tree, Hash, Gist 및 SP-Gist Index 메소드는 모두이 매개 변수를 받아들입니다.

FillFactor(Integer) #

인덱스의 필수는 인덱스 메소드가 색인 페이지를 포장하려고하는 방법을 결정하는 백분율입니다. B- 트리의 경우 초기 인덱스 빌드 중에 잎 페이지 가이 백분율로 채워지고 오른쪽에서 인덱스를 확장 할 때 (새로운 가장 큰 핵심 값 추가). 이후에 페이지가 완전히 가득 차면 나뉘어지면서 온 디스크 인덱스 구조가 단편화됩니다. B- 트리는 90의 기본 FillFactor를 사용하지만 10에서 100까지의 정수 값을 선택할 수 있습니다.

많은 인서트 및/또는 업데이트가 예상되는 테이블의 B- 트리 인덱스가 낮은 FillFactor 설정에서 혜택을받을 수 있습니다색인 생성시간 (테이블에 벌크 로딩을 따라 가면). 50-90의 범위의 값은 유용하게 할 수 있습니다Smooth OuttherateB-Tree Index의 초기 수명 동안 페이지 분할 | B- 트리 상향식 색인 삭제 기술에 설명 된섹션 64.1.4.2추가저장할 페이지의 공간추가튜플 버전, FillFactor의 영향을받을 수 있습니다 (효과는 일반적으로 중요하지는 않지만)

다른 특정 경우에 FillFactor를 100으로 늘리는 것이 유용 할 수 있습니다색인 생성공간 활용을 극대화하는 방법으로 시간. 테이블이 정적이라고 확신 할 때만 이것을 고려해야합니다 (즉, 삽입물이나 업데이트의 영향을받지 않을 것입니다). 100 가지 위험에 대한 채우기 설정Harming성능 : 몇 가지 업데이트 또는 인서트조차도 갑자기 페이지 분할이 홍수됩니다.

다른 인덱스 방법은 FillFactor를 다르지만 대략적으로 유사한 방식으로 사용합니다. 기본 FillFactor는 메소드마다 다릅니다.

B- 트리 색인이 추가 로이 매개 변수를 받아들입니다.

retmuplice_items(부울) #

B-Tree 중복 제거 기술의 사용법 제어섹션 64.1.4.3. 설정on또는OFF최적화를 활성화 또는 비활성화합니다. (대체 철자onOFF에 설명 된대로 허용PostgreSQL : 문서 : 17 : 19.1. 매개 스포츠 토토 사이트 설정.) 기본값은입니다.on.

Note

회전retmuplication_itemsviaAlter Index향후 삽입물이 중복 제거를 방지하는 것을 방지하지만 그 자체로 기존 게시 목록을 만들지는 않습니다. 튜플은 표준 튜플 표현을 사용합니다..

GIST 인덱스 추가 로이 매개 변수를 수락합니다.

버퍼링(enum) #

섹션 64.2.4.1는 메이저 토토 사이트를 구축하는 데 사용됩니다. 와 함께OFF버퍼링이 비활성화되어on활성화되고auto처음에는 비활성화되었지만 메이저 토토 사이트 크기가 도달하면 날개를 켜십시오exply_cache_size. 기본값은auto. 정렬 된 빌드가 가능하면 버퍼링 된 빌드 대신에 사용됩니다.buffering = on지정되어 있습니다.

진 인덱스는 다른 매개 변수를 허용합니다 :

Fastupdate(부울) #

이 설정은에 설명 된 빠른 업데이트 기술의 사용법을 제어합니다섹션 64.4.4.1. 부울 매개 변수입니다 :on빠른 업데이트 활성화,OFF비활성화합니다. 기본값은on.

note

회전FastupdateOFF VIAAlter Index향후 삽입이 보류중인 인덱스 항목 목록으로 들어가는 것을 방지하지만 그 자체로는 이전 항목을 플러시하지 않습니다. 당신은 원할 수도 있습니다진공테이블 또는 전화gin_clean_pending_list나중에 보류중인 목록이 비워 지도록 기능합니다.

gin_pending_list_limit(정수) #

Customgin_pending_list_limit매개 변수. 이 값은 킬로 바이트로 지정되어 있습니다.

브린인덱스는 다른 매개 변수를 허용합니다 :

pages_per_range(정수) #

a 각 항목에 대해 하나의 블록 범위를 구성하는 테이블 블록 수를 정의합니다.브린색인 (참조섹션 64.5.1자세한 내용은). 기본값은128.

AutosumMarize(부울) #

다음 페이지에서 삽입이 감지 될 때마다 요약 실행이 이전 페이지 범위에 대해 대기인지 여부를 정의합니다. 보다섹션 64.5.1.1자세한 내용은. 기본값은OFF.

동시에 빌드 인덱스

색인 생성은 데이터베이스의 정기적 인 작동을 방해 할 수 있습니다. 보통PostgreSQL쓰기에 대해 인덱싱 할 테이블을 잠그고 테이블의 단일 스캔으로 전체 인덱스 빌드를 수행합니다. 다른 트랜잭션은 여전히 ​​테이블을 읽을 수 있지만 테이블에 행을 삽입, 업데이트 또는 삭제하려고하면 인덱스 빌드가 완료 될 때까지 차단됩니다. 시스템이 라이브 프로덕션 데이터베이스 인 경우 심각한 영향을 줄 수 있습니다. 매우 큰 테이블을 색인화하는 데 많은 시간이 걸릴 수 있으며, 작은 테이블의 경우, 인덱스 빌드는 제작 시스템에 대해 용납 할 수없는 기간 동안 작가를 잠글 수 있습니다..

PostgreSQL쓰기를 잠그지 않고 빌드 인덱스를 지원합니다. 이 방법은를 지정하여 호출됩니다.동시에옵션색인 생성. 이 옵션이 사용될 때PostgreSQL테이블의 두 스캔을 수행해야하며, 또한 인덱스를 수정하거나 종료 할 수있는 모든 기존 트랜잭션을 기다려야합니다. 따라서이 방법은 표준 색인 빌드보다 더 많은 총 작업이 필요하며 완료하는 데 훨씬 더 오래 걸립니다. 그러나 인덱스가 구축되는 동안 일반 작업이 계속 될 수 있으므로이 방법은 생산 환경에서 새로운 인덱스를 추가하는 데 유용합니다. 물론 인덱스 생성에 의해 부과 된 추가 CPU 및 I/O 부하는 다른 작업 속도를 늦출 수 있습니다.

동시 메이저 토토 사이트 빌드에서 메이저 토토 사이트는 실제로 A로 입력됩니다Invalid한 번의 트랜잭션에서 시스템 카탈로그에 색인을 인덱싱 한 다음 두 개의 트랜잭션에서 두 개의 테이블 스캔이 발생합니다. 각 테이블 스캔 전에 인덱스 빌드는 테이블이 종료 될 기존 트랜잭션을 기다려야합니다. 두 번째 스캔 후 인덱스 빌드는 스냅 샷이있는 트랜잭션을 기다려야합니다 (참조PostgreSQL : 문서 : 17 : 13 장. 스포츠 토토 사이트 제어) 관련 인덱스가 부분적이거나 간단한 열 참조가 아닌 열이있는 경우 다른 테이블에서 동시 인덱스의 단계에서 사용되는 트랜잭션을 포함하여 종료되는 두 번째 스캔을 포기합니다. 마지막으로 인덱스가 표시 될 수 있습니다유효그리고 사용할 준비가되었고색인 생성명령이 종료됩니다. 그러나 그럼에도 불구하고 메이저 토토 사이트는 쿼리에 대해 즉시 사용할 수 없을 수 있습니다. 최악의 경우 메이저 토토 사이트 빌드의 시작을 미리 발행하는 트랜잭션이 존재하는 한 사용할 수 없습니다..

고유 한 지수의 교착 상태 또는 고유성 위반과 같은 테이블을 스캔하는 동안 문제가 발생하는 경우색인 생성명령은 실패하지만 뒤에 남겨 둡니다.Invalid색인. 이 색인은 불완전 할 수 있으므로 쿼리 목적으로 무시됩니다. 그러나 여전히 업데이트 오버 헤드를 소비합니다. 그만큼PSQL \ d명령은 그러한 색인을로보고합니다.잘못된:

postgres =# \ d 탭
       "public.tab"테이블
 열 |  유형 | Collation | 무효 | 기본
--------+--------+-------------------------------
 col | 정수 |           |          |
인덱스 :
    "idx"btree (col) 잘못된

그러한 경우 권장되는 복구 방법은 메이저 토토 사이트를 삭제하고 다시 수행하는 것입니다동시에 색인 생성. (또 다른 가능성은로 색인을 재건하는 것입니다.Reindex index 동시에).

고유 한 인덱스를 동시에 구축 할 때의 또 다른 경고는 두 번째 테이블 스캔이 시작될 때 독창성 제약이 이미 다른 트랜잭션에 대해 시행되고 있다는 것입니다. 이는 인덱스를 사용할 수있게되기 전에 또는 인덱스 빌드가 결국 실패한 경우 조건 위반이 다른 쿼리에서보고 될 수 있음을 의미합니다. 또한 두 번째 스캔에서 실패가 발생하면Invalid메이저 토토 사이트는 계속해서 고유성 제약을 시행하고 있습니다.

동시 표현식 인덱스 및 부분 인덱스의 동시 빌드가 지원됩니다. 이러한 표현식의 평가에서 발생하는 오류는 고유 한 제약 위반에 대해 위에서 설명한 것과 유사한 행동을 유발할 수 있습니다.

일반 색인 빌드는 동일한 테이블의 다른 일반 색인 빌드가 동시에 발생할 수 있지만 한 번에 테이블에서 하나의 동시 인덱스 빌드 만 발생할 수 있습니다. 두 경우 모두 인덱스가 구축되는 동안 테이블의 스키마 수정이 허용되지 않습니다. 또 다른 차이점은 정기적 인 것입니다색인 생성명령은 트랜잭션 블록 내에서 수행 할 수 있지만동시에 색인 생성할 수 없습니다.

분할 된 테이블의 인덱스에 대한 동시 빌드는 현재 지원되지 않습니다. 그러나 각 파티션에서 개별적으로 인덱스를 동시에 빌드 한 다음 파티가 된 테이블에 쓰기가 잠겨있는 시간을 줄이기 위해 파티션 된 인덱스를 비공식적으로 만들 수 있습니다. 이 경우, 분할 된 인덱스를 구축하는 것은 메타 데이터 전용 작업입니다.

노트

참조토토 : 문서 : 17 : 11 장. 인덱스메이저 토토 사이트를 사용할 수있는시기, 사용하지 않을 때, 어떤 특정 상황에서 유용 할 수 있는지에 대한 정보는

현재 B-Tree, Gist, Gin 및 Brin Index 메서드만이 다중 키 열인 인덱스를 지원합니다. 여러 키 열이있을 수 있는지 여부포함열을 인덱스에 추가 할 수 있습니다. 인덱스는를 포함하여 최대 32 개의 열을 가질 수 있습니다.포함열. (이 한도는 빌드시 변경 될 수 있습니다PostgreSQL.) B-Tree 만 현재 고유 인덱스를 지원합니다.

an운영자 클래스옵션 매개 변수와 함께 인덱스의 각 열에 대해 지정할 수 있습니다. 연산자 클래스는 해당 열의 인덱스에서 사용하도록 연산자를 식별합니다. 예를 들어, 4 바이트 정수의 B-Tree 지수는를 사용합니다.int4_ops클래스; 이 연산자 클래스에는 4 바이트 정수에 대한 비교 기능이 포함되어 있습니다. 실제로 열 데이터 유형의 기본 연산자 클래스로는 일반적으로 충분합니다. 운영자 클래스를 갖는 주요 요점은 일부 데이터 유형의 경우 둘 이상의 의미있는 순서가있을 수 있다는 것입니다. 예를 들어, 복잡한 수 데이터 유형을 절대 값 또는 실제 부분별로 정렬 할 수 있습니다. 데이터 유형에 대한 두 개의 운영자 클래스를 정의한 다음 인덱스를 만들 때 적절한 클래스를 선택하여이를 수행 할 수 있습니다. 운영자 클래스에 대한 자세한 정보는입니다.PostgreSQL : 문서 : 17 : 11.10. 토토 결과 수업 및 토토 결과 가족and inPostgreSQL : 문서 : 17 : 36.16. 와이즈 토토에 대한 확장 인터페이스.

언제색인 생성파티션 된 테이블에서 호출되며, 기본 동작은 모든 파티션으로 재구성하여 모두 일치하는 인덱스를 갖도록하는 것입니다. 각 파티션은 먼저 동등한 인덱스가 이미 존재하는지 여부를 결정하기 위해 먼저 확인되며, 그렇다면 해당 인덱스가 생성되는 인덱스에 대한 파티션 인덱스로 첨부되어 부모 색인이됩니다. 일치하는 인덱스가 없으면 새 인덱스가 생성되어 자동으로 첨부됩니다. 각 파티션에서 새 인덱스의 이름은 명령에 인덱스 이름이 지정되지 않은 것처럼 결정됩니다. 인 경우전용옵션이 지정되고 재귀가 수행되지 않으며 인덱스가 유효하지 않습니다. (Alter Index ... 첨부 파티션모든 파티션이 일치하는 인덱스를 얻으면 인덱스를 유효하게 표시합니다.) 그러나 미래에 생성 된 모든 파티션은테이블 생성 ... 파티션|전용지정되어 있습니다.

순서 스캔을 지원하는 색인 ​​방법의 경우 (현재, B- 트리 만), 옵션 조항ASC, desc, Nulls First및/또는널 마지막지정하여 메이저 토토 사이트의 정렬 순서를 수정할 수 있습니다. 정렬 된 메이저 토토 사이트를 앞뒤로 스캔 할 수 있으므로 일반적으로 단일 열을 만드는 것은 유용하지 않습니다.descindex - 정렬 주문은 이미 일반 색인으로 사용할 수 있습니다. 이러한 옵션의 값은 혼합 주문 쿼리에서 요청한 정렬 순서와 일치하는 멀티 컬럼 인덱스가 생성 될 수 있다는 것입니다.선택 ... X ASC, y desc 주문. 그만큼nulls지원 해야하는 경우 옵션이 유용합니다Nulls Sort Low기본값이 아닌 동작Nulls Sort High, 정렬 단계를 피하기 위해 메이저 토토 사이트에 의존하는 쿼리로

시스템은 정기적으로 모든 테이블 열에 통계를 수집합니다. 새로 만들어진 비 표현 지수는 이러한 통계를 즉시 사용하여 인덱스의 유용성을 결정할 수 있습니다. 새로운 표현 인덱스의 경우 실행이 필요합니다분석또는 대기autovacuum daemon이 인덱스에 대한 통계를 생성하기 위해 테이블을 분석하려면

while색인 생성실행 중입니다.search_path일시적으로 변경PG_CATALOG, PG_TEMP.

대부분의 메이저 토토 사이트 방법의 경우 메이저 토토 사이트 생성 속도는의 설정에 따라 다릅니다.maintenance_work_mem. 더 큰 값은 실제로 사용 가능한 메모리의 양보다 크게 만들지 않는 한 메이저 토토 사이트 생성에 필요한 시간을 줄일 수 있습니다.

PostgreSQL테이블 행을 더 빨리 처리하기 위해 여러 CPU를 활용하면서 메이저 토토 사이트를 구축 할 수 있습니다. 이 기능은로 알려져 있습니다.병렬 메이저 토토 사이트 빌드. 구축 인덱스를 병렬로 지원하는 인덱스 방법 (현재 B- 트리 및 브린),Maintenance_Work_mem시작한 작업자 프로세스 수에 관계없이 각 메이저 토토 사이트 빌드 작업에서 전체적으로 사용할 수있는 최대 메모리 양을 지정합니다. 일반적으로 비용 모델은 요청해야 할 작업자 프로세스 수를 자동으로 결정합니다.

병렬 메이저 토토 사이트 빌드는 증가함에 혜택maintenance_work_mem동등한 직렬 인덱스 빌드가 이점이 거의 없거나 전혀없는 경우. 참고maintenance_work_mem병렬 작업자가 적어도 a를 가져야하므로 요청 된 근로자 프로세스 수에 영향을 줄 수 있습니다.32MB총계maintenance_work_mem예산. 나머지가 있어야합니다32MB리더 프로세스를 공유하십시오. 증가max_parallel_mainenage_workers더 많은 작업자가 사용될 수 있으므로 메이저 토토 사이트 빌드가 아직 I/O 바운드가 아닌 한 메이저 토토 사이트 생성에 필요한 시간이 줄어 듭니다. 물론, 그렇지 않으면 유휴 상태가 될만한 충분한 CPU 용량이 있어야합니다.

값 설정Parallel_WorkersviaAlter Tablea에 몇 개의 병렬 작업자 프로세스가 요청 될 수 있는지 직접 제어합니다색인 생성테이블에 대한. 이것은 비용 모델을 완전히 우회하고를 방지합니다.maintenance_work_mem얼마나 많은 병렬 근로자가 요청되는지에 영향을 미칩니다. 환경Parallel_WorkersAlter Table모든 경우 테이블에서 병렬 메이저 토토 사이트 빌드를 비활성화합니다.

재설정하고 싶을 수도 있습니다Parallel_Workers메이저 토토 사이트 빌드 조정의 일부로 설정 한 후. 이것은 쿼리 계획에 대한 부주의 한 변경을 피합니다.Parallel_Workers영향all병렬 테이블 스캔.

while색인 생성with동시에옵션은 특별한 제한없이 병렬 빌드를 지원합니다. 첫 번째 테이블 스캔 만 실제로 병렬로 수행됩니다.

useDrop Index색인을 제거하려면

장기 거래와 마찬가지로색인 생성테이블에서 동시에 제거 할 수있는 튜플에 영향을 줄 수 있습니다진공다른 테이블에서.

사전 릴리스PostgreSQLr-tree index 방법이있었습니다. 이 방법은 GIST 방법에 비해 큰 장점이 없기 때문에 제거되었습니다. 만약에RTREE 사용지정되어 있습니다.색인 생성|GIST 사용, 오래된 데이터베이스를 GIST로 전환하기 위해.

각 백엔드 실행색인 생성에서 진행 상황을보고합니다PG_STAT_PROGRESS_CREATE_INDEX보기. 보다섹션 27.4.4자세한 내용.

예제

열에서 고유 한 b- 트리 색인을 생성하려면제목표에서영화:

필름에서 고유 한 색인 제목 _idx 만들기 (제목);

열에서 고유 한 b- 트리 색인을 생성하려면제목포함 된 열감독and등급표에서영화:

필름에 고유 한 색인 제목 _idx 만들기 (제목) 포함 (감독, 등급);

중복 방지 장애가있는 B- 트리 색인 생성 :

(title)와 함께 (title)에서 index title_idx를 만듭니다 (attremuply_items = off);

표현식에 대한 색인 생성Lower (Title), 효율적인 사례 감수성 검색 허용 :

필름에서 색인 생성 ((lower (title));

(이 예에서는 인덱스 이름을 생략하기로 선택한 경우 시스템이 이름, 일반적으로를 선택합니다.films_lower_idx.)

Default Collation이 아닌 인덱스 생성 :

영화에서 인덱스 제작 _idx_german 만들기 (Title Collate "de_de");

널의 비 디폴리 정렬 순서로 색인을 생성하려면 :

영화에서 인덱스 제작 _idx_nulls_low (Title Nulls First);

비 분리 채우기 요소가있는 메이저 토토 사이트 생성 :

필름 (title)에서 고유 인덱스 제목 _idx 생성 (fillfactor = 70);

agin빠른 업데이트가있는 색인 비활성화 :

with (fastupdate = off);를 사용하여 gin (locations)을 사용하여 documents_table에서 index gin_idx를 만듭니다.

열에서 색인을 생성하려면코드표에서영화그리고 메이저 토토 사이트가 테이블 스페이스에 존재하게indexspace:

필름에서 색인 Code_Idx 만들기 (코드) TableSpace Indexspace;

전환 기능의 결과에 대해 박스 연산자를 효율적으로 사용할 수 있도록 포인트 속성에 GIST 메이저 토토 사이트를 작성하려면

메이저 토토 사이트 PointLoc 생성
    GIST를 사용하는 지점 (상자 (위치, 위치));
* From Points를 선택하십시오
    Where Box (위치, 위치) && '(0,0), (1,1)':: Box;

잠금하지 않고 메이저 토토 사이트를 작성하려면 테이블에 쓴다 :

sales_table (수량)에서 동시에 인덱스 생성 동시에 sales_quantity_index;

호환성

색인 생성isPostgreSQL언어 확장. SQL 표준에는 메이저 토토 사이트에 대한 조항이 없습니다.

정정 제출

문서에 올바른 것이 없다면 일치하지 않습니다. 특정 기능에 대한 귀하의 경험 또는 추가 설명이 필요합니다. 사용이 양식문서 문제를보고하려면