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