В SQL (в частности, в MySQL, но вопрос достаточно общий), каков наиболее эффективный способ запроса данных временных рядов, когда у меня несколько таблиц в непересекающихся временных диапазонах? Например, если мои таблицы выглядят следующим образом:
router1_20090330( unixtime integer unsigned,
iface1_in integer unsigned,
iface1_out integer unsigned )
router1_20090331( unixtime integer unsigned,
iface1_in integer unsigned,
iface1_out integer unsigned )
и т. Д. С (скажем) 1-минутными выборками входящего и исходящего трафика на interface1, что дает 86400 записей в день в таблице.
Я хочу, чтобы запрос представлял что-то вроде
SELECT CAST(unixtime/3600 as unsigned) AS hour,
sum(iface1_in), sum(iface1_out)
from router1_20090330 *then* router1_20090331
group by hour order by hour;
т.е. Я хотел бы, чтобы обе таблицы запрашивались и агрегировались, но одна за другой вместо объединения.