最大 3 つの文字列の C++ コンテナーがあり、多くの場合、文字列は 1 つだけです。
コンテナー内の文字列ごとに sqlite dB から 1 つの int 値を取得する必要がありますが、準備されたステートメントよりも高速な方法があるかどうか疑問に思っていました。
私が今持っている方法
int Idx{}; // set to 0
std::for_each(container.begin(), container.end(), [](string& item) {
sqlite3_prepared_v2(
db,
("SELECT categoryId FROM table WHERE item='" + item + "'").c_str(),
-1,
&stmt,
NULL
);
sqlite3_step(stmt); // goto the first result
Idx += sqlite3_column_int(stmt, 0); // add to my Idx
sqlite3_finalize(stmt); // finalize
};