t = db.distinct_speed1; t.drop(); for (var i = 0; i < 10000; i++) { t.save({x: i % 10}); } assert.eq(10, t.distinct("x").length, "A1"); function fast() { t.find().explain("executionStats").executionStats.executionTimeMillis; } function slow() { t.distinct("x"); } for (i = 0; i < 3; i++) { print("it: " + Date.timeFunc(fast)); print("di: " + Date.timeFunc(slow)); } t.ensureIndex({x: 1}); t.distinct("x", {x: 5});