我的表有温度、位置和日期时间以及其他当前未使用的数据。消息是温度,位置图是传感器所在的位置,即休息室、厨房、室外!)
询问 :
SELECT
t1.*
FROM
temperatures t1
JOIN (
SELECT
locationmap
, MAX(timeof) AS timeof
FROM
temperatures
GROUP BY
locationmap
) AS t2
ON t1.locationmap = t2.locationmap AND t1.timeof = t2.timeof
WHERE
DATE(t1.timeof) BETWEEN DATE_SUB(CURDATE(), INTERVAL 5 MINUTE) AND CURDATE()";
生成的 PHP 代码显示当前温度;
// Print out result
while($row = mysql_fetch_array($result)){
echo $row['locationmap']. " - ". $row['message']. " @". $row['timeof'];
echo "<br />";
}
只是希望它显示每个位置的最新温度,它目前正在执行,但我想知道这是否是速度的最佳优化查询,因为目前显示结果需要 7 秒!?请注意,我的服务器速度很慢,但我是唯一的用户。
谢谢。
供参考。