2011-07-01 4 views

答えて

2

_idが主キーです。インデックスに登録されています。もちろんそれは速いです。

+1

私の関心事ではありません。 – TIMEX

+0

はい。期間。 –

+0

なぜあなたは 'プライマリ'キーを言うのですか?私はMongoにプライマリとフォージンキーがあるとは考えていません。 – dman

0

_idフィールドのインデックスは、mongoとデフォルトの主キーによって自動的に作成されます。 Speedwiseでは、_idフィールドでドキュメントにアクセスするのが非常に高速になります。

あなたはどんな懸念を抱いていますか?

0

ObjectIdsあなたの主なデータアクセス方法は、MongoDBからあなたのものを取得する最も速い方法です。私たちはMongoDBをデータアクセスの大部分の鍵となるリポジトリとして利用しています。あなたはあなたがやっていることをやって素晴らしい結果を出すでしょう。

5

より正確な答え:MongoDBはBツリーインデックスを使用します。 Bツリー内の特定の値を検索することは、平均的および最悪の場合のO(log n)複雑さを有し、これは合理的に速いと考えることができる(すなわちバイナリ検索)。定数複雑さ= O(1)ではないので、索引サイズが使用可能なRAMよりも大きくなると、減速の影響が残ります。 (MongoDBはインデックスをRAMに保存しようとしますが、ディスク上のインデックスを参照するために必要なすべてのIOがクエリの処理速度を大幅に低下させます)。

+2

「一定の複雑さ」のようなものはありません。全体の複雑さはO(1)です。ポイント。 –

+0

trueの場合、 "constant"の後ろに "time"という単語がありませんでした。 – Mario

関連する問題