Docs Menu
Docs Home
/
MongoDB for IntelliJ プラグイン

欠落インデックスの警告

項目一覧

  • 定義
  • 詳細

MongoDB for IntelliJ プラグインは、アプリケーションクエリがインデックスを使用しているかどうかを調べます。クエリがインデックスを使用しない場合、プラグインはそのクエリに対する警告を表示します。

警告を解決するには、クエリのインデックスを作成することを検討してください。

インデックスを追加する前に、次の点を考慮してください。

  • クエリは、読み取りを高速化するために書込みパフォーマンスを低下させるのに十分な頻度で実行されます。

  • クエリを変更して、既存のインデックスを使用できます。

インデックスの警告を無効にすることもできます。

インデックスの詳細については、「 インデックスの作成 」を参照してください。

次の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/ja-jp/docs/v7.0/core/data-model-operations/#indexes
db.getSiblingDB("sample_mflix").getCollection("movies").
createIndex({"<your_field_1>": 1})

フィールドのインデックスを作成するには、例コードでcreateIndex() awards<your_field_1>awards に設定し、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を無効にします。

戻る

タイプ検証

項目一覧