单人桌……错了。
一个表描述了每个“设备”(或“传感器”)。它有一个
id
可能是2字节
SMALLINT UNSIGNED
(范围是0..65K——没有比这更多的传感器了?)。请注意mac_地址和名称属于此表。这个
身份证件
用在另一张桌子上…
另一个表包含
sensor_id
,
timestamp
以及
value
. 这张桌子应该有
PRIMARY KEY(sensor_id, timestamp)
并且be engine=innodb`。现在它非常有效地查找一个传感器在一段时间内的所有读数。
这完全避免了
SELECT DISTINCT
因为第一张桌子上没有傻瓜。
如果你要拉下,那么
TINYINT UNSIGNED
(1字节,0..255)可能很大。
好吧,我帮你做了两个
SELECTs
;你还有别的什么。请记住,性能主要取决于需要触摸的行数。你拒绝的也算在内。