Могу ли я рассчитывать на SQLite при выполнении "правильных действий (TM)"?
CREATE TABLE IF NOT EXISTS user.Log (
term TEXT,
seen DATETIME
);
CREATE INDEX IF NOT EXISTS user.Log_term ON Log(term);
CREATE VIEW IF NOT EXISTS user.History AS
SELECT term, COUNT(1) as timesseen, MAX(seen) as lastseen
FROM user.Log GROUP BY term;
А потом
INNER JOIN History h ON h.term = t.term
Журнал может быть в сотнях тысяч. Я хотел бы знать, передаст ли SQLite h.term = t.term в View, чтобы он группировал только термины, соответствующие ON, вместо группировки всей таблицы, а затем применял ON.
Если это плохая идея, запрашивается лучший способ. (Возможно, лучший способ - сохранить две таблицы: журнал и обобщенную историю.)