在我的數據庫,我有100K的文件具有以下結構的指標:指標與MongoDB的Java驅動程序不能提高性能
{ "_id" : ObjectId("56f2ce94ef4c3043f12141b8"), "a" : "aaaa", "b" : "bbbb", "c" : "cccc" ...}
在Java中,插入後,我調用該函數:
myCollection.createIndex(new Document("a", 1));
,並以查詢:
FindIterable<Document> iterable =
DB.getCollection(collection).find(dbobj);
經過多次試驗,性能有或沒有查詢一樣。 我很樂意提供有關我的操作的額外信息。
的解釋命令給我:
{
"queryPlanner" : {
"plannerVersion" : 1,
"namespace" : "db.MyCollection",
"indexFilterSet" : false,
"parsedQuery" : {
"a" : /^aaaa.*/i
},
"winningPlan" : {
"stage" : "FETCH",
"inputStage" : {
"stage" : "IXSCAN",
"filter" : {
"a" : /^aaaa.*/i
},
"keyPattern" : {
"a" : 1
},
"indexName" : "a_1",
"isMultiKey" : false,
"isUnique" : false,
"isSparse" : false,
"isPartial" : false,
"indexVersion" : 1,
"direction" : "forward",
"indexBounds" : {
"Modality" : [
"[\"\", {})",
"[/^aaaa.*/i, /^aaaa.*/i]"
]
}
}
},
"rejectedPlans" : [ ]
},
"ok" : 1
}
「dbobj」中的查詢如何? – jarnbjo
使用MongoDB控制檯的速度是否相同?如果是這樣,你可以在你的查詢上運行[解釋](https://docs.mongodb.org/manual/reference/method/cursor.explain/)命令嗎? – CydrickT
請提供更多詳情。你能顯示確切的文件和確切的查詢?你能描述領域的基數嗎(即有多少不同的價值觀索引領域通常有)?數據大小和服務器有多少內存? – Roman