Docs Menu
Docs Home
/
MongoDB 매뉴얼
/

색인 제거

이 페이지의 내용

  • 이 작업에 대하여
  • 시작하기 전에
  • 절차
  • 단일 인덱스 제거
  • 여러 인덱스 제거
  • _id 인덱스를 제외한 모든 인덱스 삭제
  • 결과
  • 자세히 알아보기

컬렉션에서 특정 인덱스를 제거할 수 있습니다. 성능에 부정적인 영향을 미치거나, 새 인덱스로 바꾸고 싶거나, 더 이상 인덱스가 필요하지 않은 경우 인덱스를 제거해야 할 수 있습니다.

인덱스를 제거하려면 다음 shell 메서드 중 하나를 사용합니다.

메서드
설명
db.collection.dropIndex()
컬렉션에서 특정 인덱스를 제거합니다.
컬렉션 또는 인덱스 배열(지정한 경우)에서 모든 제거 가능한 인덱스를 제거합니다.

_id 필드의 기본 인덱스를 제외한 모든 인덱스를 삭제할 수 있습니다. _id 인덱스를 삭제하려면 전체 컬렉션을 삭제해야 합니다.

프로덕션에서 활발하게 사용되는 인덱스를 제거하면 성능 저하를 경험할 수 있습니다. 인덱스를 제거하기 전에 인덱스를 숨겨 제거 시 잠재적으로 발생할 수 있는 영향을 평가하는 것이 좋습니다.

인덱스를 제거하려면 인덱스의 이름이 필요합니다. 컬렉션의 모든 인덱스 이름을 가져오려면 getIndexes() 메서드를 실행합니다.

db.<collection>.getIndexes()

제거할 인덱스를 식별한 후 지정된 컬렉션에 대해 다음 제거 방법 중 하나를 사용하세요.

특정 인덱스를 삭제하려면 dropIndex() 메서드를 사용하고 인덱스 이름을 지정합니다.

db.<collection>.dropIndex("<indexName>")

여러 인덱스를 제거하려면 dropIndexes() 메서드를 사용하고 인덱스 이름으로 구성된 배열을 지정합니다.

db.<collection>.dropIndexes( [ "<index1>", "<index2>", "<index3>" ] )

_id 인덱스를 제외한 모든 인덱스를 제거하려면 dropIndexes() 메서드를 사용합니다.

db.<collection>.dropIndexes()

인덱스를 삭제하면 시스템에서 작업 상태에 대한 정보를 반환합니다.

출력 예시:

...
{ "nIndexesWas" : 3, "ok" : 1 }
...

nIndexesWas 값은 인덱스를 제거하기 전의 인덱스 수를 반영합니다.

인덱스가 제거되었는지 확인하려면 db.collection.getIndexes() 메서드를 실행합니다.

db.<collection>.getIndexes()

제거된 인덱스는 더 이상 getIndexes() 출력에 나타나지 않습니다.

  • 기존 인덱스를 관리하는 방법에 대해 자세히 알아보려면 인덱스 관리를 참조하세요.

  • MongoDB Compass에서 인덱스를 제거하는 방법을 알아보려면 Compass에서 인덱스 관리를 참조하세요.

돌아가기

이름을 지정합니다.