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

时间:2015-12-03 19:01:46

标签: sql-server database sql-server-2012

我试图找出存储测量数据的最佳方法:

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

    1. 我想为每种乐器创建7个表格。第一个表只能包含最重要的测量类型(200列)。剩余的表每个包含大约200列。如果我使用Join从多个表中进行选择,如何最有效地索引数据?这样我每天就会有1440行。

    2. 其他方法是创建两个表。首先包含从Time创建的主键。我会在每个测量中将第二行放入第二行。这样我每天就会有2M行。

1 个答案:

答案 0 :(得分:0)

考虑只创建一个表。使用“时间”表可以实现的目标可以通过数据库内列值压缩和按月分区来实现。您希望通过将数据拆分为可能通过索引实现的各种表来实现的目标。