【问题标题】:Best way to Store Stock Symbol TimeSeries data存储股票代码时间序列数据的最佳方式
【发布时间】:2015-02-28 17:17:07
【问题描述】:

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

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

  1. 有 4000 个表,每个符号 1 个表。行是日期。读数是列,
  2. 每个读数有 4 个表 1。每行是一个符号(4000 行)。每列都是一个新的日期(每一天的列增加 1)。
  3. 每个日期都有一个新表,每个符号 4000 行,每个读数 4 列

感谢您对此的任何指导。

【问题讨论】:

    标签: database-design


    【解决方案1】:

    以上都不是我的回答。

    您不想限制自己拥有多个存储相似信息的表。我将假设记录有 3 个值:

    (Symbol, value_type, value, timestamp)
    

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

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

    我想你会想获得基于symbolvalue_typetimestamp 范围的值。所以这将是该顺序中的一个索引。 如果要检索每个符号的所有四种类型的值,则需要在 symboltimestamp 上建立索引

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-01
      • 1970-01-01
      • 2018-12-01
      • 2015-05-11
      • 1970-01-01
      相关资源
      最近更新 更多