이 문서는 지원되지 않는 버전의 롤 토토을위한 것입니다.
당신은에 대해 같은 페이지를 보려고 할 수 있습니다롤 토토 PostgreSQL : 문서 : 17 : 11.1. 소개버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

11.1. 소개

이와 유사한 테이블이 있다고 가정합니다.

테이블 생성 테스트 1 (
    ID 정수,
    내용 varchar
);

그리고 응용 프로그램은 양식의 많은 쿼리를 발행합니다.

where id =에서 test1에서 컨텐츠를 선택하십시오.Constant;

사전 준비가 없으면 시스템은 다음을 스캔해야합니다. 전체test1테이블, 행으로 행, to 일치하는 모든 항목을 찾으십시오. 에 많은 행이 있다면test1그리고 몇 줄 만 (아마도 0 또는 1) 그것은 그러한 쿼리에 의해 반환 될 것입니다. 이것은 분명히 비효율적 인 방법. 그러나 시스템이 지시를 받았다면 에 대한 색인 유지id열, 일치하는 행을 찾는 데보다 효율적인 방법을 사용할 수 있습니다. 예를 들어, 몇 단계 만 걸어 가면 검색 트리.

비슷한 접근 방식은 대부분의 논픽션 서적에서 사용됩니다. 그리고 독자들이 자주 찾는 개념은 책 끝에서 알파벳 지수로 수집되었습니다. 그만큼 관심있는 독자는 인덱스를 비교적 빠르게 스캔하고 뒤집을 수 있습니다. 전체를 읽지 않고 적절한 페이지에 관심있는 자료를 찾으려면 예약하십시오. 그것이 작업 인 것처럼 저자는 독자가 할 가능성이있는 항목을 기대합니다. 찾아보세요, 그것은 데이터베이스 프로그래머의 작업입니다. 어떤 인덱스가 유용 할 것인지.

다음 명령을 사용하여에 인덱스를 생성 할 수 있습니다.id컬럼, 논의 된대로 :

test1 (id);에서 인덱스 테스트 1_id_index 생성

이름test1_id_index할 수 있습니다 자유롭게 선택했지만 당신은 당신이 나중에 색인이 무엇인지 기억하십시오.

인덱스를 제거하려면를 사용하십시오.드롭 색인명령. 인덱스를 추가하고 제거 할 수 있습니다 언제든지 테이블.

인덱스가 생성되면 더 이상 개입이 필요하지 않습니다. 테이블이 수정되면 시스템이 인덱스를 업데이트하고 그렇게 생각할 때 인덱스를 쿼리로 사용합니다. 순차 테이블 스캔보다 더 효율적입니다. 그러나 당신은 가질 수 있습니다 실행하려면분석정기적으로 명령하십시오 쿼리 플래너가 교육을받을 수 있도록 통계를 업데이트합니다. 결정. 보다토토 : 문서 : 9.0 : 성능 팁인덱스 사용 여부를 찾는 방법과 Planner가 선택할 수있는시기와 이유not인덱스 사용.

인덱스도 도움이 될 수 있습니다업데이트and삭제검색 조건이있는 명령. 또한 인덱스는 가입 검색에 사용할 수 있습니다. 따라서 색인 조인 조건의 일부인 열에 정의 된 조인으로 쿼리 속도를 크게 높이십시오.

큰 테이블에서 인덱스를 만드는 데 시간이 오래 걸릴 수 있습니다. 에 의해 기본,롤 토토reads를 허용합니다 (select진술)에서 발생합니다 인덱스 생성과 병렬로 표지하지만 (를 씁니다.삽입, 업데이트, 삭제)는 인덱스까지 차단됩니다 빌드가 완료되었습니다. 생산 환경에서 이것은 종종입니다 용납 할 수 없습니다. 쓰기가 병렬로 발생할 수 있습니다. 인덱스 생성을 사용하면 몇 가지 경고가 있습니다. - 자세한 내용은 참조하십시오.건물 동시에 색인.

인덱스가 작성된 후 시스템은 유지해야합니다. 테이블과 동기화되었습니다. 데이터에 오버 헤드가 추가됩니다 조작 작업. 따라서 거의 또는 거의 인덱스 쿼리에 사용되지 않아야합니다.