Моя таблица имеет следующие поля:SQL-вставка строки, если поле изменилось (высокая производительность)
SENSOR_ID INTEGER,
SENSOR_READING REAL,
TIME_OF_READING TIMESTAMP,
HASCHANGED BOOLEAN
Каждый датчик срабатывает> 10'000 показания/день. Я хочу регистрировать только те данные, где SENSOR_READING отличается от последнего зарегистрированного значения.
В качестве альтернативы, я могу зарегистрировать все, кроме HASCHANGED, чтобы true, когда SENSOR_READING отличается от последнего зарегистрированного значения.
Что является наиболее сильным синтаксисом для выполнения этого (с PostgreSQL, без php-логики)?
вы не должны использовать 'REAL', если вам нужны точные показания. Вместо этого вы должны использовать 'NUMERIC'. –
Почему бы не сохранить последнее чтение в памяти вашего приложения, которое контролирует датчик и только регистрируется в базе данных, если оно изменяется. –
С ограничением 'UNIQUE' вы не можете регистрировать все показания. Если вы хотите только иметь последнее чтение. Это так? –