我的应用程序遇到了来自java的mongoDb中的find()操作的性能问题,当数据大小超过500万时,它需要花费大量时间(有时需要数千毫秒来搜索单个文档) )。
任何意见都表示赞赏。 :)
java find query:
db.test.find("flag":false, $or:[{"uni.phone":"99********"},{"uni.mail":"abc@test.com"}]
mongoDb的索引:
db.test.createIndex({"flag":-1})
db.test.createIndex({"uni.phone":1})
db.test.createIndex({"uni.mail":1})
Mongo Document json:
{
"_id" : "912c2345-f95g-40bf-c871-f6135d3acd879",
"uni" : {
"phone" : [
"99********"
],
"email" : [
"abc@test.com"
]
},
"comb" : false,
"flag" : false,
"combIds" : null,
"Histories" : null,
"creationDate" : "2017-06-14T17:03:44Z"
}
Mongo Stats
:此处抓获Mongo sample stats