В соответствии с вашим ответом я бы рассмотрел три варианта:
- поместите PK на оба col, таким образом, каждый раз может быть только один темп, и наоборот. Это решение позволяет использовать несколько строк с одинаковыми временными и временными значениями, только если бы не было двух строк с одинаковыми временными и временными значениями.
- вообще не ставьте PK, но ставьте уникальный индекс на оба столбца. один уникальный индекс, содержащий оба столбца. это позволило бы принимать значения NULL во времени и времени, но требует больше места для поддержания индекса.
эти два параметра лучше всего подходят для скорости поиска, если у вас интенсивное чтение, но это приведет к снижению скорости вставки, поскольку индексы также должны быть обновлены.
- не ставьте ни индексы, ни PK. это было бы лучше для вставок, но очень плохо для поиска. полезно для регистрации, где поиск выполняется другим
Механизм или при вставке устройства не требуется проверять наличие дуплекса.
Кроме того, очень важно рассмотреть здесь количество элементов и подумать о будущих последствиях использования числа с автоинкрементом. если вы планируете делать МНОГО вставок, то риск будет заключаться даже в увеличении размера без знака bigint с автоматическим увеличением, поскольку в конечном итоге он закончится. В вашем примере, я думаю, вы будете сохранять данные ежедневно - как долго? это было бы проблематично, если бы вы сохраняли темп каждую минуту ... поэтому я возьму это как крайний пример.
Полагаю, лучше всего подумать о том, что вам нужно, из таблицы. Вы делаете "сохранить и забыть" в течение всего года для температуры в каждую минуту? Собираетесь ли вы часто использовать эту таблицу в процессе принятия решений в вашей бизнес-логике? Я думаю, что лучше всего отделить данные, необходимые для реального времени (oltp), от данных долгосрочного сохранения, которые будут требоваться редко, и их задержка поиска может быть высокой (olap). даже стоит дублировать данные в две разные таблицы, одна сильно индексируется и время от времени стирается, чтобы контролировать количество элементов, а вторая фактически сохраняется на магнитном диске практически без индексов (можно перенести схему из вашего основной фс в другой фс).