存储股票代码时间序列数据的最佳方式

时间:2015-02-28 17:17:07

标签: database-design

我希望存储股票,股票代码的时间序列数据 我有4个读数。总体而言,短期,中期,长期。 我有4000个符号。 我在一天结束时,下午6点捕获数据

将此数据存储在数据库中的最佳方法是什么

  1. 有4000个表,每个符号有1个表。行是日期。读数是列,
  2. 每次阅读都有4个表1。每行是一个符号(4000行)。每列都是一个新日期(每天列增加1)。
  3. 每个日期都有一个新表,每个符号有4000行,每次读数有4列
  4. 感谢任何方向。

1 个答案:

答案 0 :(得分:0)

我的回答不是上述问题。

您不希望限制自己使用多个表来存储类似的信息。我将假设记录有3个值:

(Symbol, value_type, value, timestamp)

其中value_typeoverallshortintermediatelong。后三者是所有值的明确时间段。

只要您保留正确的索引,您的表仍将执行,具体取决于您要运行的查询类型。

我想您可能希望根据symbolvalue_typetimestamp范围获取值。所以这将是该顺序中的一个索引。 如果您要检索每个符号的所有四种类型的值,您需要symbol上的索引,timestamp

提高表性能的另一种方法是使用符号上基于散列的函数对其进行分区。在此处查看MySQL版本的分区:http://dev.mysql.com/doc/refman/5.5/en/partitioning-types.html

您可以采取许多优化措施来优化检索时间,例如保持表格排序等等。但这一切都取决于您计划询问此表格的查询。