У меня есть имитационная модель временного ряда, которая имеет более 10 входных переменных.Число различных экземпляров моделирования будет более 1 миллиона, и каждый экземпляр моделирования генерирует несколько выходных строк каждый день.
Чтобы сохранить результат моделирования в реляционной базе данных, я разработал таблицы, подобные этой.
создать таблицу SimulationModel (
целочисленный первичный ключ simul_id,
input0 строка / цифра,
input1 строка / цифра,
...)
создание таблицы SimulationOutput (
dt первичный ключ DateTime,
целочисленный первичный ключ simul_id,
выходной числовой номер,
...)
Чтобы сделать каждую модель уникальной, я рассматриваю несколько способов, как показано ниже.
накладывает уникальное ограничение на все входные данныестолбцы таблицы SimulationModel
измените структуру таблицы SimulationModel, чтобы сгруппировать входные столбцы в 2 ~ 3 столбца и наложить уникальное ограничение на эти сгруппированные столбцы.(Путем создания длинного строкового значения, такого как «input0_input1_input2»)
забудьте об ограничениях на стороне сервера и выполните работу на стороне приложения.
Как вы относитесь к этим вариантам?
Нет ли проблем в использовании уникального индекса для более чем 10 столбцов с миллионами строк?
Есть ли другой способ рекомендовать?
(я могу использовать postgresql)