我有一个时间序列(在 MySQL 中,虽然最终可能在 PostgreSQL 中)表:
CREATE TABLE `logging` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`recordtime` timestamp NOT NULL,
`device_on` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
PRIMARY KEY (`id`),
);
基本上,该表记录了远程传感器设备的“开/关”状态。还有其他一些列,但它们与这里的问题无关。大多数日志事件以标准的 2 分钟间隔发生,但这可能是可变的,可能存在间隙等。该表还不是很大(仅超过一百万年),但会相当一致地增长!
我正在寻找有趣的方法来运行查询,该查询可以给我在给定时间跨度内花费在 (device_in = 'Y') 上的总时间。我当前的解决方案显然不是最优的,并且使用 Javascript 在用户端进行计算。
作为第二个(相关)问题,有关如何在此表上构造索引键的任何建议?
谢谢!