我正在运行一个包含两列的表A:datetime和value.表A是一个巨大的数据库,里面有数千万个数据.
在我的SQL语句中(在mysql dialet中),我想
1)获取最新值(最新日期时间的值)
2)获取时间范围内的值
我目前的解决方案
1)
SELECT value
FROM A
WHERE datetime = (
SELECT MAX(datetime)
FROM A
ORDER BY datetime
);
Run Code Online (Sandbox Code Playgroud)
2)
SELECT value
FROM A
WHERE datetime IN (
SELECT datetime
FROM A
WHERE datetime > start_time AND datetime < finish_time
);
Run Code Online (Sandbox Code Playgroud)
但是,我怀疑这是一个优化的解决方案,因为内部的SELECT.
是否有更好的方法来实现更好的性能?
非常感谢!
1)
SELECT value FROM A ORDER BY datetime DESC LIMIT 1
Run Code Online (Sandbox Code Playgroud)
2)
SELECT value FROM A
WHERE datetime > :start_time AND datetime < :finish_time
Run Code Online (Sandbox Code Playgroud)
而且(最重要的是!)你想要一个关于日期时间的索引.
| 归档时间: |
|
| 查看次数: |
71 次 |
| 最近记录: |