MongoDB составной индекс префикс с сортировкой - PullRequest
0 голосов
/ 25 января 2020

Мне трудно решить, где лучше всего поместить поле сортировки в составной индекс mongodb.

Насколько я понимаю, нам нужно выбрать наивысшую мощность и селективность в качестве предыдущих полей в составном индексе

db.person.createIndex({ rating: 1, name: 1, gender: 1});

В этом примере рейтинг варьируется только от 1 до 5, а пол - M или F. Таким образом, имя - это всегда наибольшая мощность и селективность, и оно должно быть самым левым полем в составном индексе; однако сценарий использования для запроса таков, что в запросе всегда указывается оценка, а имя или пол можно указать с помощью фильтра в приложении.

Какой вариант лучше всего подходит для этого случая:

1)

db.person.createIndex({ rating: 1, name: 1, gender: 1});

2)

db.person.createIndex({ rating: 1});
db.person.createIndex({ name: 1, gender: 1});
db.person.createIndex({ gender: 1});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...