我目前正在开展一个云项目。它托管在Amazon AWS上,数据存储在RDS(MySQL)中。我有许多设备有很多小请求,设备要求服务器执行新命令。设备有一些参数,如“power”= 1或0等,因此这些命令用于为设备命令做什么。现在有两种情况:
每个命令都是“命令”表中的一列,设备正在询问,服务器会搜索带有device = ID的命令。 “经典风格”。返回列并删除它(2个查询)。
有一个名为“参数”的表,其中放置了所有“电源”,...状态,每行都有时间戳和设备。所以服务器说的每个请求:好的,设备的时间戳是xxx,所以在xxx之后更新了哪个参数。
描述有点复杂。对不起。关键是:在第一个想法中,没有第二个中的列数多。但是在第二个服务器必须检查WHERE device = ID AND timestampx>的每个cloumn。 'device_time_stamp'。每个设备每5秒钟会询问一次,会有很多设备,所以这是一个关于性能的问题。
谢谢大家
答案 0 :(得分:0)
根据现有的有限信息,您可能会遇到以下情况:
device_command (device_command_id -- PK establishing a sequence for the commands ,device_id ,command_id ,completed -- either a simple 1/0 flag, or a timestamp )
我不确定我是否理解'参数'适合所有这一切,所以我现在就把它留在那里。