我正在运行一个包含两列的表 A:日期时间和值。表A是一个巨大的,里面有几千万的数据。
在我的 SQL 语句中(在 mysql dialet 中),我想
1)获取最新值(具有最新日期时间的值)
2)在时间跨度范围内获取值
我目前的解决方案
1)
SELECT value
FROM A
WHERE datetime = (
SELECT MAX(datetime)
FROM A
ORDER BY datetime
);
2)
SELECT value
FROM A
WHERE datetime IN (
SELECT datetime
FROM A
WHERE datetime > start_time AND datetime < finish_time
);
但是,由于内部 SELECT,我怀疑这是一个优化的解决方案。
有没有更好的方法以更好的性能实现这一目标?
非常感谢!