I try to timed a Mongo query in C# on a column with an index:
DateTime startTime = DateTime.Now;
MongoCollection<BsonDocument> voteCol = database.GetCollection<BsonDocument>("XXX");
var query = new QueryDocument("YYY", "23915");
MongoCursor<BsonDocument> cursor = voteCol.Find(query).SetSortOrder(SortBy.Descending("ZZZ")).SetLimit(10).SetSkip(20);
TimeSpan elapsedTime = DateTime.Now - startTime;
Console.WriteLine("Elapsed: {0}, in seconds: {1}, in milliseconds: {2} ",
elapsedTime, elapsedTime.TotalSeconds, elapsedTime.TotalMilliseconds, cursor.Count());
Everytime it is equal to 0 and I get the results.
Does it mean that it is too fast or did I missed something?
This is because you actually not loading data from mongodb. Data will be loaded when you start iterate through
MongoCursor. You can easy useToListmethod to load data from the database:Also i suggest to use Stopwatch to evaluate elapsed time.