Docs Menu
Docs Home
/
IntelliJ 플러그인용 MongoDB

인덱스 누락 경고

이 페이지의 내용

  • 정의
  • 예시
  • 자세히 알아보기

IntelliJ 플러그인용 MongoDB 는 애플리케이션 쿼리가 인덱스를 사용하는지 검사합니다. 쿼리 에서 인덱스 를 사용하지 않는 경우 플러그인은 해당 쿼리 에 대한 경고를 표시합니다.

경고를 해결하려면 쿼리 에 대한 인덱스 를 생성하는 것이 좋습니다.

인덱스 를 추가하기 전에 다음 사항을 고려하세요.

  • 쿼리 가 더 빠른 읽기를 위해 쓰기 (write) 성능을 줄이는 것을 정당화할 만큼 자주 실행됩니다.

  • 기존 인덱스 를 사용하도록 쿼리 를 변경할 수 있습니다.

인덱스 경고를 비활성화할 수도 있습니다.

인덱스에 대한 자세한 내용은 인덱스 만들기를 참조하세요.

다음 예시 Java 코드 스니펫에서는 awards 문서 필드 가 쿼리 에 사용되지만 필드 는 데이터베이스 에서 인덱싱되지 않습니다.

client.getDatabase( "sample_mflix" ).getCollection( "movies" ).find(
Filters.ne( "awards", "Comedy" )
)

플러그인에 다음 경고가 표시됩니다.

This query will run without an index. If you plan on using this
query heavily in your application, you should create an index that
covers this query.
Implement an Index

쿼리 에 대한 인덱스 를 만들려면 플러그인에서 경고와 함께 표시된 Implement an Index 링크를 클릭합니다.

그런 다음 플러그인은 인덱스 생성을 위한 템플릿 코드가 포함된 Database Explorer Playgrounds 화면을 표시합니다. 템플릿 코드에는 인덱스 할 잠재적 필드를 보여주는 주석도 포함되어 있습니다. 예를 예시, 다음 코드의 첫 번째 줄은 awards 필드 를 인덱싱할 수 있음을 나타냅니다.

// Potential fields to consider indexing: awards
// Learn about creating an index: https://www.mongodb.com/ko-kr/docs/v7.0/core/data-model-operations/#indexes
db.getSiblingDB("sample_mflix").getCollection("movies").
createIndex({"<your_field_1>": 1})

필드 에 대한 인덱스 를 만들려면 awards 예시 <your_field_1> awards 코드에서 을 로 설정하다 한 다음 화면에서 createIndex() 메서드를 실행 Database Explorer Playgrounds 합니다. 예를 예시 다음과 같습니다.

db.getSiblingDB("sample_database").getCollection("movies").
createIndex({"awards": 1})

플러그인에서 인덱스 경고를 비활성화하려면 다음을 수행합니다.

  1. IntelliJ IDEA 시스템 메뉴를 열고 Settings을(를) 클릭합니다.

  2. Editor 을 펼칩니다.

  3. Inspections를 클릭합니다.

  4. MongoDB 을 펼칩니다.

  5. Probable bugs 을 펼칩니다.

  6. Query does not use an index 비활성화.

돌아가기

유형 유효성 검사

이 페이지의 내용