Using C# driver 1.5 with MongoDB v 2.2
~12 million rows of data in Mongo
the mongo query:
IMongoQuery query = new QueryDocument();
query = Query.GTE("InsertUTC", msgReceivedDate);
query = Query.And(query, Query.NE("Header.AssetSerialNumber", BsonNull.Value));
query = Query.And(query, Query.EQ("Header.Dealer", (int)DealerNetworkEnum.SomeDealer));
When trying to get a simple COUNT using this query:
var result = MongoCollection.Count(query);
return (int)result;
it takes almost 3 minutes!
by itself, the actual query returns data instantly!
var result = _mongoStorage.MongoCollection.Find(GetMongoQuery(requestDateTime)).AsQueryable()
.Skip((page - 1) * pageSize).Take(pageSize)
.Select(t => new DeviceMessage { Header = t.Header, Message = t.DevicePacket })
.OrderBy(f => f.Header.InsertUTC).ToList();
What black magic is needed to return a count quickly??
THANK YOU!
Dustin