Я работаю с огромной базой данных (для меня она огромна ^^). У меня 5,3 миллиона записей. Я пытаюсь использовать многопоточность, чтобы сократить время моих исследований. Но мой способ не работает find.
const std::string &&statement = this->buildStatement(params, client);
Alpaga::SQLite3::Statement s(db, statement);
while (s.step()) {
pool.task([&, exposed = s.column<std::string>(1)] {
this->calcDistance(matchThreshold, client.aka, exposed, Alpaga::Utils::Str::nbrWord(exposed));
});
}
Statement = query (ВЫБРАТЬ имя из пользователей)
Таким образом, я получаю 5,3 имени строки и использую пул потоков для вычисления расстояния между двумя строками ( Но неважно).
Но я бы хотел разделить свое заявление и сделать так, чтобы один поток занимал от 0 до 1 миллиона записей, а другой - от 1 до 2 миллионов, и так далее. c ...