我有一个日志表,如下所示:
logs (_id_, client, metric, value);
我正在尝试从 PHP 前端在 MySQL 中编写以下查询,以从日志表中获取信息。
SELECT client, LAST(value) AS value
FROM logs
WHERE metric = 'free space'
GROUP BY client;
当然,除非那LAST
不是一个有效的聚合函数。
我提出的解决方案是这样的:
SELECT client, value
FROM logs
WHERE id IN (
SELECT MAX(id)
FROM logs
WHERE metric = 'free space'
GROUP BY client);
但是,对于一个 4,000 行的非常小的表,在我的开发机器上执行这个查询需要超过 60 秒。
建议?