我有一张表(记录)在Oracle中实时获取。我需要从该表中提取数据并计算每分钟添加到数据库中的条目数。然后将该统计信息转储到新表“ statistics”中。如何以滑动窗口方式有效地提取数据?
表的结构:
RecordId NUMBER(10) ---- Unique random value for every row
RecordTime VARCHAR2(64) ---- Timestamp in YYYY-MM-DD HH24:MI:SS
查询应类似于:
select substr(RecordTime, 1, 16), count(*)
from Records
group by substr(RecordTime, 1, 16);
表中每分钟大约需要500000新行,因此我需要在此数据库表上滑动窗口操作。如果类似队列的操作更好,那么也请让我知道。
答案 0 :(得分:0)
首先,最好将RecordTime
作为日期字段,以便您可以在其上创建索引并查询它。使用substr()
会让您迷失方向。
第二,像Influx
这样的时间序列数据库更适合此用例。您可能会考虑使用它。