У меня длинный запрос, подобный следующему:
SELECT field1, field2, ... FROM tambe WHERE (rowid NOT IN (some 60000 rowids));
Потенциально запрос может выполняться несколько раз, поэтому я сохраняю его результаты во временной таблице.
CREATE TEMPORARY TABLE IF NOT EXISTS cache AS SELECT field1, field2, ... FROM tambe WHERE (rowid NOT IN (some 60000 rowids));
Таким образомМне не нужно каждый раз выбирать фактические данные, но они все еще немного медленнее, чем могли бы быть.Я подозреваю, что это время, которое требуется для анализа запроса, который замедляет его.
Есть ли способ инкапсулировать длинный запрос в виде оператора IF (CASE), чтобы синтаксический анализатор SQLite полностью игнорировалэто?
IF cache NOT EXISTS (...) END IF;
Спасибо.