我目前使用的MongoDB有数百万条数据记录.我发现了一件很烦人的事.
当我使用"count()"函数收集少量查询数据时,速度非常快.然而,当查询的数据收集包含数千甚至数百万条数据记录时,整个系统会变得非常缓慢.
我确保已为必填字段编制了索引.
有人遇到过同样的事情吗?你如何改进这一点?
我目前使用的MongoDB有数百万条数据记录.我发现了一件很烦人的事.
当我使用"count()"函数收集少量查询数据时,速度非常快.然而,当查询的数据收集包含数千甚至数百万条数据记录时,整个系统会变得非常缓慢.
我确保已为必填字段编制了索引.
有人遇到过同样的事情吗?你如何改进这一点?
现在还有另一种优化方法,那就是创建适当的索引.
db.users.ensureIndex({name:1});
db.users.find({name:"Andrei"}).count();
If you need some counters i suggest to precalculate them whenever it possible. By using atomic $inc operation and not use count({})
at all.
但是mongodb的人在mongodb上努力工作,所以,根据jira bug,他们计划在mongodb 2.1中进行count({})
项改进.