我刚刚开始使用数据库,我在这个领域是全新的 - 所以如果问题很愚蠢,请原谅我。
我必须存储大约4000个传感器的大量数据。每一分钟都会记录读数。现在我必须存储三年的数据库数据,但有一段时间它会增长。
数据库大约有200 GB,现在有150 GB。我想获取id为1且在特定日期之间的传感器的所有数据(例如 '2017-12-06'和'2017-12-07')。
print (df.loc[:, (df.sum(numeric_only=True) > 40000).reindex(df.columns, fill_value=True)])
A B D F
0 a 4 10111 a
1 b 5 30000 a
2 c 4 5 a
3 d 100005 7 b
4 e 5 1 b
5 f 4 0 b
问题是查询花费的时间比我预期的要长。如何提高此DB的性能?也许db的设计是错误的?数据库当前存储在HDD驱动器上。
select *
from raw_sensor_data
where idSensor=1
and time> DATE '2017-12-06'
and time < date '2017-12-06' + interval '1 day';