Я генерирую SQL запросов из кода C ++. (sqllite3)
Мне нужно эффективно написать следующий запрос.
SELECT * FROM T
WHERE T.field1 IN (V1, V2, V3, ...) or T.field2 IN (V1, V2, V3, ...);
Как его оптимизировать: не вставлять два раза (V1, V2, V3, ...) или взять устанавливает пересечение (T.field1, T.field2) и (V1, V2, V3, ...) или создает локальную переменную оператора (V1, V2, V3, ...) или что-то еще?
Оператор SQL создается как строка и затем передается в механизм SQL -парсинга.