Мне было интересно, может ли кто-нибудь дать мне совет по моему туманному запросу ниже. Теперь он занимает более 20 секунд, чтобы выполнить против БД 50 000 документов - я подозреваю, что могу получить более высокую скорость, чем это.Ускорение моего облачного запроса
Цель запроса состоит в том, чтобы найти все мои документы с атрибутом «searchCode», равным определенному значению, плюс дополнительный список конкретных идентификаторов.
И индексы индексируются как searchCode, так и _id - любые идеи, почему мой запрос будет занимать так много времени/что я могу сделать, чтобы ускорить его?
mydb.find({selector: {"$or":[{"searchCode": searchCode},{"_id":{"$in":idList}}]}}, function (err, result) {
if(!err){
fulfill(result.docs);
}
else{
console.error(err);
}
});
Спасибо, Джеймс
Thanks Glynn - я отделил два, и проблема в том, что у меня есть проблема с идентификационной частью вызова - запрос по поисковому запросу возвращается почти сразу, но идентификационный вызов все еще занимает более 15 секунд. –
Привет, Glynn. Я действительно получил это для работы, поскольку вы предлагаете использовать мой метод .list, который должен вызывать GET/db/_all_docs, однако у меня теперь есть проблема, когда количество передаваемых ключей im превышает предел в качестве запроса параметр. Есть идеи? Я видел документацию, предлагающую вам получить all_docs с POST на couch_db, чтобы отправить большое количество ключей - это то же самое на cloudant? –
Я решил это - спасибо, что вы правильно их запускали, поскольку отдельные запросы были намного эффективнее. Я в конечном итоге после моего предложения POSTing в/db/_all_docs с ключами в теле, которые работали для моего большого набора ключей –