记录如下:
email
我希望使用此
获取最新记录id |sensor_id|val |audit_date
255245| 1|22.12|2017-02-18 08:26:47
需要一秒钟以上;没有最后“在哪里” - 第二和第二。 “id”是主键,现在是索引。 我可以做些什么来加快这个问题?
答案 0 :(得分:0)
此查询使用max()功能
返回最新的输入记录SELECT t1.sensor_id,val,t1.audit_date
FROM `tests` t1
JOIN (SELECT max(`audit_date`) as audit_date, max(`sensor_id`) as max_sensor_id
FROM `tests` group by `sensor_id`) t2
ON t2.max_sensor_id = t1.sensor_id
AND t2.audit_date =t1.audit_date
答案 1 :(得分:0)
您可以尝试自我排除加入更快:
SELECT t1.sensor_id, t1.val, t1.audit_date
FROM audit t1
LEFT JOIN audit t2
ON t1.sensor_id = t2.sensor_id
AND t2.audit_date > t1.audit_date
where
t2.id is null
基本上就是说每个audit_date
没有更大sensor_id
s的返回记录。