У меня есть приложение C ++, которое использует ODB с базой данных SQLite. Я хотел бы посчитать количество результатов, которые будут возвращены любым запросом. В настоящее время я делаю что-то вроде следующего:
using query = odb::query<person>;
auto filteredResults( db.query<person>(query::first == "John") );
const auto count = std::distance( filteredResults.begin(), filteredResults.end() );
Есть ли более эффективный способ подсчета числа результатов запроса, которые будут возвращены?
I знать, что SQLite предоставляет функцию COUNT (https://www.sqlitetutorial.net/sqlite-count-function/), которая кажется более эффективной, но есть ли способ вызвать ее через ODB, или мне нужно было бы переписать запрос в нативном SQLite ( https://www.codesynthesis.com/products/odb/doc/manual.xhtml#3 .12 )