Za pomocą pętli utworzyłem kolekcję.
for (var i = 1; i <= 30000; i++) {db.liczby.insert( { x : i } )}
Następnie proste zapytanie
db.liczby.find( {$and:[{"x":{$gte:10000}}, {"x":{$lte:15000}}]})
I teraz tak: wykorzystaj metodę explain by otrzymać informacje o wykonaniu ostatniego zadania.
db.liczby.find().explain()
Później otworzenie indeksów, i ponownie explain.
db.liczby.createIndex({x:1})
db.liczby.find().explain()
Tyle, że wyniki explain się nie różnią, a powinny.
Zgodnie z dokumentacją:
Stages are descriptive of the operation; e.g.
COLLSCAN for a collection scan
IXSCAN for scanning index keys
FETCH for retrieving documents
SHARD_MERGE for merging results from shards
SHARDING_FILTER for filtering out orphan documents from shards
A jak widać dla obu jest COLLSCAN.