0

従来のリレーショナルデータベースには、通常は自動インクリメント番号であるUSER_IDのようなフィールドがあります。MongoDBには、次のようなドキュメントIDがあります

4f90e98277f6426c0a000001

これはUSER_IDを完全に置き換えることができますか?私が基本的に求めているのは、検索、挿入、インデックス作成の観点から、自動インクリメントの数値と同じくらい速いということだと思います。もしも

4

1 に答える 1

2

主キーが整数ではなくObjectIDであるため、パフォーマンスの問題が発生する可能性はほとんどありません。すぐにデータサイズの影響を受けます。私はそれについて心配しません。

ObjectIDにはいくつかの利点があります。

  • これはグローバルに一意です(データベースを参照せずにアプリケーションで新しいIDを作成できます)。
  • シャーディングのサポート(シャード間で自動インクリメントシーケンスを同期する必要はありません);
  • 時間とともに単調に増加します(実際のタイムスタンプが含まれるためcreated_at、挿入時間のみで並べ替える場合は、個別のフィールドを用意する必要はありません)。
于 2012-04-22T12:32:45.733 に答える