이와 유사한 테이블이 있다고 가정합니다.
테이블 생성 테스트 1 ( ID 정수, 내용 varchar );
그리고 응용 프로그램은 양식의 많은 쿼리를 발행합니다.
test1에서 컨텐츠 선택 id =Constant;
사전 준비가 없으면 시스템은 다음을 스캔해야합니다. 전체test1테이블, 행으로 행, 찾을 수 있습니다 모든 일치하는 항목. 에 많은 행이 있다면test1그리고 몇 줄 만 (아마도 0 또는 1) 그것은 그러한 쿼리에 의해 반환 될 것입니다. 이것은 분명히 비효율적 인 방법. 그러나 시스템이 지시를 받았다면 에 대한 색인 유지id열, It 일치 행을 찾기 위해보다 효율적인 방법을 사용할 수 있습니다. 을 위한 예를 들어, 몇 레벨만으로 걸어 가면 검색 트리.
대부분의 논픽션 서적에서 유사한 접근법이 사용됩니다 : 용어 및 독자들이 자주 찾는 개념은 수집됩니다. 책의 끝에 알파벳 지수. 관심있는 독자 인덱스를 비교적 빠르게 스캔하고 적절한 페이지 전체를 읽지 않고 관심있는 자료. 저자의 작업 인 것처럼 독자들이 찾을 가능성이있는 항목을 기대합니다. 데이터베이스 프로그래머가 어떤 색인이 될지 예측하는 작업 유용한.
다음 명령을 사용하여에 인덱스를 생성 할 수 있습니다.idcolumn, 논의 된대로 :
test1 (id);에서 색인 생성 1_id_index 생성
이름test1_id_index할 수 있습니다 자유롭게 선택했지만 당신은 당신이 나중에 색인이 무엇인지 기억하십시오.
인덱스를 제거하려면를 사용하십시오.Drop Index명령. 인덱스는 모든 테이블에 추가 및 제거 할 수 있습니다. 시간.
인덱스가 생성되면 더 이상 개입이 필요하지 않습니다. 테이블이 수정되면 시스템이 인덱스를 업데이트합니다. 그렇게 할 때 인덱스를 쿼리로 사용합니다. 순차 테이블 스캔보다 효율적입니다. 그러나 당신은 달려야 할 수도 있습니다 그만큼분석정기적으로 명령을 내립니다 쿼리 플래너가 교육적 결정을 내릴 수있는 통계. 보다윈 토토 : 문서 : 9.3 : 성능 팁정보 인덱스 사용 여부와시기 및 이유를 찾는 방법에 대해 플래너는 선택할 수 있습니다11852_11857인덱스 사용.
인덱스도 도움이 될 수 있습니다업데이트and삭제검색 조건이있는 명령. 또한 인덱스는 가입 검색에 사용할 수 있습니다. 따라서 색인 조인 조건의 일부인 열에 정의 된 조인으로 쿼리 속도를 크게 높이십시오.
큰 테이블에 인덱스를 만드는 데 시간이 오래 걸릴 수 있습니다. 에 의해 기본,스포츠 토토reads를 허용합니다 (select진술) 테이블에서 발생합니다 인덱스 생성과 병렬로 이루어 지지만 (를 씁니다.삽입, 업데이트, 삭제)는 인덱스 빌드가 될 때까지 차단됩니다 완성된. 생산 환경에서 이것은 종종 용납 할 수 없습니다. 그것 인덱스와 병렬로 쓰기가 발생할 수 있습니다. 창조, 그러나 알아야 할 몇 가지 경고가 있습니다. 정보 참조건물 동시에 색인.
인덱스가 생성 된 후 시스템은 유지해야합니다. 테이블과 동기화되었습니다. 데이터에 오버 헤드가 추가됩니다 조작 작업. 따라서 거의 또는 결코 결코 인덱스입니다 쿼리에서 사용되는 경우 제거해야합니다.