私はインデックス付きインデックスコレクションtimestamp_1, timestamp_2 and user_id
を持っています。クエリを実行すると(次のログに表示されます)、約3分(175670ms)のクエリが実行されます。私はなぜそれが起こっているのか分からない!! 以下のMongoDB-Logを添付しました。
ログに従う人は誰でも説明できますが、どうすれば最適化できますか?MongoDBのログ出力を説明してください
2017-04-12T17:04:33.759 + 0000 I COMMAND [conn167]クエリ 位置コレクションクエリ:{ORDERBY:{timestamp_1:1}、$クエリ:{ $と:[{timestamp_1。 {$のLTE:1492016294486.0}}、{timestamp_2:{ $ GTE:1491993563400.0}}、{USER_ID: "jkfjlsjfflki-14asddsd"}]}} planSummary:IXSCAN {USER_ID:1}、IXSCAN {USER_ID:1} ntoreturn :1000 ntoskip:0 keysExamined:27254 docsExamined:27254 hasSortStage:1 cursorExhausted:1 keyUpdates:0 writeConflicts:0 numHields:3350 nreturned:67 reslen:176574ロック:{グローバル:{ acquireCount:{r:6702}}、データベース:{acquireCount:{r: 3351}}、 コレクション:{acquireCount:{R:3351}}} 175670ms
もう一つ質問:私は "_id" フィールド任意の欠点この方法の私自身の価値を作成しています?私は単なる文字列値を作成しており、mongoDbが何の問題もなくインデックスを作成することを期待しています。
2017-04-12T17:04:41.979 + 0000 I [conn150]クエリdb.users クエリコマンド:{ORDERBY:{_id:1}、$クエリ:{_id: 「USR-dfhsddf- 14905426shfkjdhf」}} planSummary:iDHACK ntoreturn:1 ntoskip:0 keysExamined:1 docsExamined:1 idhack:1 cursorExhausted:1 keyUpdates:0 writeConflicts:0 numYields:0 nreturned:1 reslen:1291の ロック:{グローバル:{acquireCount :{R:2}}、データベース:{acquireCount: {R:1}}、コレクション:{acquireCount:{R:1}}} 2627ms
ありがとうございました!