Задать вопрос

Индексы mongodb?

Какие индексы должны быть для такого запроса?

db.foo.find({
        $or : [ { a : 1 } , { b : 2 } ],
        c: {$lte: 3}
    }).sort( { c : -1 } )


Пробовал тестить, не вижу однозначной зависимости скорости от индексирования по отдельным полям или по всем вместе. Имеют ли вообще смысл индексы по многим полям. Спасибо!
  • Вопрос задан
  • 4482 просмотра
Подписаться 3 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 3
akalend
@akalend
программирую
> Имеют ли вообще смысл индексы по многим полям
имеет, если только по этим полям происходит поиск. Пример db.user.find({city:'Moscow', sex:0, age:18})
строим состовной индекс на поля city,sex,age
Ответ написан
Malenkov
@Malenkov
Explain пробовали смотреть?
Ответ написан
@sermal
Определенно нужно db.foo.ensureIndex({c:1})
Потом создать большую тестовую выборку и воспользоваться explain.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы