1. ホーム
  2. mongodb

[解決済み] Mongodb: ensureIndex をいつ呼び出すか?

2022-02-08 05:37:28

質問

ensureIndexはいつ呼び出すべきですか?1つのレコードを挿入する前、1つのレコードを挿入した後、またはfind()を呼び出す前ですか?

ありがとうございます。

ジョニー

解決方法は?

私のコメントが少し誤解されているようなので、はっきりさせておきます。をいつ呼ぶかはあまり重要ではありません。 を初めて呼び出す前のある時点で呼び出されていればよいのです。 言い換えれば、インデックスを作成するタイミングは、それを使用することを想定する前にあれば、あまり重要ではありません。

よく見かけるパターンとしては ensureIndex と同時に(同じ場所に)配置されます。 find() を呼び出します。 ensureIndex はインデックスが存在するかどうかをチェックし、 存在しない場合は作成します。find() を呼び出す前に ensureindex を呼び出すと、 (非常に小さいとはいえ) 間違いなくオーバーヘッドが発生するので、 これを行わない方が望ましいでしょう。

私は ensureIndex は、デプロイを簡略化し、データベースとコードベースを別々に管理する必要がないようにするためです。デプロイを簡単にするというトレードオフが、その後の ensureIndex の呼び出しの冗長性と釣り合っているのです(私にとってはね)。