我的 mongodb 目前加载了 105,000 个文档,我还需要再插入 500,000 个,而且由于查询引用,仅插入 1000 个文档就需要 4 个多小时:
插入DocA,DocA有很多引用(约30条) 在数据库中查找被DocA引用的文档。[即:findBy-Doi-Or-Pmid-Or-Pmc(...)]
- 所以对于 DocA 引用的每个查询,完成大约需要 400 毫秒。
以下是配置文件之一:Query { $or [ {$or [ {doi: ""}, {pmid: "10508155"} ] }, {pmc: "" } ]}
{
"ts": ISODate("2012-12-22T11: 55: 39.796Z"),
"op": "query",
"ns": "fyparticles.mArticle",
"query": {
"$or": {
"0": {
"$or": {
"0": {
"doi": ""
},
"1": {
"pmid": "10508155"
}
}
},
"1": {
"pmc": ""
}
}
},
"ntoreturn": NumberInt(1),
"nscanned": NumberInt(105707),
"responseLength": NumberInt(20),
"millis": NumberInt(477),
"client": "192.168.0.15",
"user": ""
}
我创建的索引:
{
"v": NumberInt(1),
"key": {
"doi": NumberInt(1),
"pmid": NumberInt(1),
"pmc": NumberInt(1)
},
"ns": "fyparticles.system.indexes",
"background": NumberInt(1),
"name": "params"
}
请帮帮我!我错过了什么或做错了什么?