У меня есть образец 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" } )
Теперь существует дополнительное требование, есть запросы, которые могут нуждаться в поиске по телефону или электронной почте, но они очень редки.Поэтому я не хочу снова осколки на основе этих новых ключей поиска, я просто включил индексирование.
Итак, теперь вопросы:
Какова наихудшая задержка поиска для этих только что проиндексированных ключей.
Если у меня есть 5 шардов, есть ли возможность заставить монго выполнять этот вид поиска на всех шардах параллельно
Есть ли лучшеспособ закрепить поиск без осколка