【发布时间】:2010-06-09 09:53:41
【问题描述】:
我有一个时间序列模拟模型,它有超过 10 个输入变量。不同模拟实例的数量将超过 100 万个,每个模拟实例每天都会生成几行输出。
为了将模拟结果保存在关系数据库中,我设计了这样的表格。
创建表 SimulationModel (
simul_id 整数主键,
input0 字符串/数字,
input1 字符串/数字,
...)
创建表 SimulationOutput (
dt 日期时间主键,
simul_id 整数主键,
输出0数字,
...)
为了使每个模型都独一无二,我正在考虑以下一些方法。
-
对 SimulationModel 表的所有输入列设置唯一约束
-
重新设计 SimulationModel 表,将输入列分组为 2~3 列,并对这些分组列设置唯一约束。 (通过制作像“input0_input1_input2”这样的长字符串值)
-
忘记服务器端的限制,在应用程序端完成工作。
您如何看待这些选项?
对10多列数百万行使用唯一索引没有问题吗?
还有其他方法推荐吗?
(我可能会使用 postgresql)
【问题讨论】:
标签: database database-design unique-constraint