Индекс на price
помогает с запросами на price
. Индекс на qty
помогает с запросами на qty
. Индекс на price
и qty
помогает с запросами на price
И запросами на price
и qty
. Таким образом, это похоже на получение двух индексов по цене одного. Это не поможет для запросов на qty
, хотя.
Вам следует минимизировать количество имеющихся у вас индексов, поэтому отбросьте один из ваших одноключевых индексов и создайте составной индекс, начинающийся с этого ключа.
Как правило, если вы выполняете запрос к x
, y
и z
, у вас должен быть индекс, такой как {x:1, y:1, z:1}
. Этот индекс быстро выполнит следующие запросы:
db.foo.find({x : ..., y : ..., z : ...})
db.foo.find({x : ..., y : ...})
db.foo.find({x : ...})
Эти запросы не будут выполняться быстро:
db.foo.find({y : ..., z : ...})
db.foo.find({y : ...})
Итак, убедитесь, что в вашем запросе есть стартовые ключи индекса.