улучшить производительность поиска mongodb для не общих ключей - PullRequest
0 голосов
/ 09 апреля 2019

У меня есть образец JSON, как показано ниже.

 {
       "userid":1,
       "name":"test",
       "phone":"7878787878",
       "email":"test@mail.com",
       "uuid":"testingOne",
       "location":"ZoneA"
    }

Я выбрал ключ шарда в качестве ИД пользователя , так как он имеет большую мощность.

db.userDetails.createIndex( { "userid": 1 }, { unique: true } )
db.userDetails.createIndex( { "phone": 1 } )
db.userDetails.createIndex( { "email": 1 } )
db.userDetails.createIndex( { "name": 1 } )

sh.shardCollection( "userDB.userDetails", { userid: "hashed" } )

Теперь существует дополнительное требование, есть запросы, которые могут нуждаться в поиске по телефону или электронной почте, но они очень редки.Поэтому я не хочу снова осколки на основе этих новых ключей поиска, я просто включил индексирование.

Итак, теперь вопросы:

  1. Какова наихудшая задержка поиска для этих только что проиндексированных ключей.

  2. Если у меня есть 5 шардов, есть ли возможность заставить монго выполнять этот вид поиска на всех шардах параллельно

Есть ли лучшеспособ закрепить поиск без осколка

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...