I am currently using MongoDB with millions of data records. I discovered one thing that’s pretty annoying.
When I use ‘count()’ function with a small number of queried data collection, it’s very fast. However, when the queried data collection contains thousand or even millions of data records, the entire system becomes very slow.
I made sure that I have indexed the required fields.
Has anybody encountered an identical thing? How do you do to improve that?
There is now another optimization than create proper index.
If you need some counters i suggest to precalculate them whenever it possible. By using atomic $inc operation and not use
count({})at all.But mongodb guys working hard on mongodb, so,
count({})improvements they are planning in mongodb 2.1 according to jira bug.