从mysql中检索历史传感器数据

时间:2017-01-01 19:31:05

标签: mysql

我一直在创建一个网站/数据库系统作为学习目标,从房屋周围的节点接收数据,如电力,用水等传感器。

我想从mysql数据库中检索信息,通过从表中减去值来计算历史数据,消耗等。例如,列"升"存储累积升,如果我需要每天升,我每天减去最大值和最小值。

我的情况是:

  • 如果我尝试显示历史数据,例如"升/天"或者"每月升"等,我正在用GROUP BY进行mysql查询。这会导致查询花费大量时间。

  • 我可以运行并行脚本来执行此操作并将其保存到另一个历史表中但我看到了这些问题:

    • 此表不会是"直播"数据,因为节点表中的任何更改都不会反映在历史记录表中。 每次请求时都需要计算运行日或月份,因为仍在保存新数据。 随着新节点的即时添加,历史表必须在日期和节点中增长。

这样的系统如何完成这项工作?

这是查询的示例

 $valor_query =  Get_MYSQL(  
                        "SELECT max({$variable}) - min({$variable}) as resta " .
                        "FROM node_" . "{$nodo}" . " " .
                        "WHERE unixtime > " . (time() - 3600 * 24 * 1.5) . " " .
                        "GROUP BY YEAR(FROM_UNIXTIME(unixtime)), MONTH(FROM_UNIXTIME(unixtime)),DAY(FROM_UNIXTIME(unixtime)) " .
                        "ORDER BY id DESC LIMIT 1");
    $json_string = "\"{$nombre}\": {$valor_query}, ";

0 个答案:

没有答案