Кассандра читается в цикле - PullRequest
0 голосов
/ 15 октября 2018

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

Дело в том, что у меня есть массив идентификаторов, давайте назовем его idArray.После выполнения чтения я помещаю результат в массив результатов (resultArray)

Теперь моя проблема заключается в том, будет ли такой код вообще эффективен?

`for(i;i<idAArray.length;i++)
{   
    let query = "SELECT * FROM table WHERE \"id\"=?idArray[i]" 
    client.execute(query)
    .then(result => resultArray.push(result));
}`

Если работать параллельноесть опция, уточните, пожалуйста, как именно?

Заранее спасибо!

1 Ответ

0 голосов
/ 23 октября 2018

Если вы предоставите обратный вызов для вызова execute, то код будет асинхронным, и вы сможете выполнять несколько запросов параллельно:

client.execute(query, [ 'someone' ], function(err, result) {
  assert.ifError(err);
  console.log('User with email %s', result.rows[0].email);
});

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

Больше информации в документации .

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