我正在研究如何将时间序列信息组织到数据库中。我目前的实现是PostgreSQL,所有符号都有单表。 获取自定义信息的速度很慢,但很容易追加。 根据{{3}}的信息,我希望通过为每个符号创建一个单独的表来复制数据库的结构。在仔细考虑之后,我意识到根据以下标准查询多个符号会有点困难:
SELECT * FROM "all_symbols" WHERE closePrice >= 50
因为我需要以某种方式将这些表组合起来进行搜索(这可能比我想象的要容易得多)。由于我在一个单独的表中每个时间帧的每个符号记录一些统计分析(如stddev),我也会增加一些不切实际的数量。
我的目标是拥有快速高效的数据库,在这里我可以通过任何可能的方式阅读和组合数据进行分析和研究。
几乎忘了提到我正在研究开源实现。
提前谢谢。
答案 0 :(得分:0)
在GitHub上看看这个项目,它是一个基于Microsoft SQL Server 2012的免费开源市场数据库:
答案 1 :(得分:0)
在closePrice
上添加索引,并使用两者而不是>=
:
SELECT * FROM all_symbols
WHERE closePrice between 50 and <some large value>
单侧范围通常不使用索引,但两者之间应使用索引。