在数据库表中组织数百万次测量



我正在努力找出存储测量数据的最佳方法:

  1. 我有50多种乐器
  2. 仪器是独立的,无需连接数据
  3. 每台仪器每分钟生成一个记录
  4. 每个记录大约有1400个测量值(浮点值)
  5. 每个记录都有唯一的测量时间
  6. 我将使用查询来选择不同时间之间的数据(在99%的情况下)
  7. 我将使用查询来选择最多一个月的几种测量类型(5-30种测量类型)
  8. 有时我会查询所有测量的具体日期和时间
  9. 并非所有数据都同等重要。在大多数情况下,将选择大约100-200种测量类型
  10. 我将录制至少6个月
  11. 插入不是问题
  12. 我正在使用SQL Server 2012

最好的方式是什么?

  1. 我正在考虑为每种乐器创建7个表格。第一个表只能包含最重要的度量类型(200列)。剩下的表格将分别包含约200列。如果我使用Join从多个表中进行选择,如何最有效地索引数据?这样我每天就可以排1440行了。

  2. 另一种方法是创建两个表。第一个将包含从Time创建的主键。我会在第二张表中每测量一次就放一行。这样的话,我每天会有200万排。

考虑只创建一个表。您想用"时间"表实现的目标可以通过在数据库中压缩列值和按月份对表进行分区来实现。您希望通过将数据拆分为各种表来实现的目标可能通过索引来实现。

最新更新