什么在mysql上更快?每列处理或通过索引的列?

时间:2014-08-07 12:29:59

标签: mysql sql database amazon-web-services

我目前正在开展一个云项目。它托管在Amazon AWS上,数据存储在RDS(MySQL)中。我有许多设备有很多小请求,设备要求服务器执行新命令。设备有一些参数,如“power”= 1或0等,因此这些命令用于为设备命令做什么。现在有两种情况:

  1. 每个命令都是“命令”表中的一列,设备正在询问,服务器会搜索带有device = ID的命令。 “经典风格”。返回列并删除它(2个查询)。

  2. 有一个名为“参数”的表,其中放置了所有“电源”,...状态,每行都有时间戳和设备。所以服务器说的每个请求:好的,设备的时间戳是xxx,所以在xxx之后更新了哪个参数。

  3. 描述有点复杂。对不起。关键是:在第一个想法中,没有第二个中的列数多。但是在第二个服务器必须检查WHERE device = ID AND timestampx>的每个cloumn。 'device_time_stamp'。每个设备每5秒钟会询问一次,会有很多设备,所以这是一个关于性能的问题。

    谢谢大家

1 个答案:

答案 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
)

我不确定我是否理解'参数'适合所有这一切,所以我现在就把它留在那里。