powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Запись в таблицу только изменений и чтение из такой таблицы
6 сообщений из 6, страница 1 из 1
Запись в таблицу только изменений и чтение из такой таблицы
    #39245446
thunderamur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Множество изменяемых значений, которые пишем каждую секунду, можно ли на стороне mysql сравнивать текущее значение с предыдущим и если оно не выполняет условие
Abs(CurrentVal - LastVal) > Deadband
то новое значение не писать.
Т.е. если разница между текущим значением и последним меньше допустимого зазора, то значение не пишется.

Второй вопрос, если возможно первое, то как потом читать такие данные ведь в заданный отрезок времени нужных значений может не быть, т.е. нужно смотреть назад в поисках последнего значения, как это сделать на стороне mysql?
...
Рейтинг: 0 / 0
Запись в таблицу только изменений и чтение из такой таблицы
    #39245450
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
thunderamur,
1 можно в хранимке : прочитал последнее, сравнил с теукщим, добавил/недобавил

2 сформулируй в доступном для всех виде.
...
Рейтинг: 0 / 0
Запись в таблицу только изменений и чтение из такой таблицы
    #39245468
thunderamur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вадя,

1. что значит в хранимке? Я представляю как это сделать на стороне языка программирования, но для моего случая это не подойдет, т.к. за раз пишется несколько тысяч значений, будет большая нагрузка на систему, на стороне SQL же это должно выполняться на порядки быстрее, чем на стороне того же Python или PHP.

2. Например, структура таблицы:
Ид - Время - Параметр - Значение

1 - 1 - 1001 - 100
2 - 1 - 1002 - 3000
3 - 2 - 1001 - 101
4 - 3 - 1001 - 102
5 - 4 - 1001 - 103
6 - 4 - 1002 - 2999

Видно, что во временном промежутке 2-3 включительно нет значений для параметра 1002. Т.е. когда я сделаю простой запрос значений для этих временных промежутков я получу только параметр 1001, а хочу получить и значения для 1002, которые будут равны последнему записанному - 3000.
...
Рейтинг: 0 / 0
Запись в таблицу только изменений и чтение из такой таблицы
    #39245472
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
thunderamur,
при такой подаче информации трудно помогать

в хранимке - в хранимой процедуре.
для каждого значения - вызов хранимки
в хранимке : прочитал последнее, сравнил с теукщим, добавил/недобавил
если для тебя такое изложение проблемы естественное и понятное , то для меня набор слов.
временном промежутке 2-3 что это за промежуток, что он такое на твоей таблице.
более доходчиво - правильный ворпрос -половина решения
...
Рейтинг: 0 / 0
Запись в таблицу только изменений и чтение из такой таблицы
    #39245640
thunderamur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1. понятно.

2. 2-й столбец в придуманной выше таблице есть время.

Для 1-й секунды - 2 значения, для 2 - 1, для 3 - 1, для 4 - 2.
...
Рейтинг: 0 / 0
Запись в таблицу только изменений и чтение из такой таблицы
    #39245645
thunderamur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Для каждого значения вызов хранимки будет медленно работать. В моем случае даже отдельный INSERT для каждого значения дает задержку больше допустимой, поэтому пишу все значения за раз.

Думаю попробовать сначала реализовать на Python, 1 запрос считать последние значения, на контроллере их сравнить с текущими и 2-м запросом записать все, по mysql вырастет количество запросов в 2 раза, но хоть не в несколько тысяч раз и то хорошо. По питону надо попробовать и посмотреть насколько быстро получится делать сравнение и подготовку строки 2-го запроса к СУБД.

Касаемо п.2 один товарищ мне сказал, что есть что-то типа синхронного чтения, когда СУБД сама подставляет значения которых нет для запрошенного timestamp и эти значения подтягиваются из последних записанных. И все это на стороне СУБД, правда он тогда не уточнял MySQL это или какой-нибудь Oracle.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Запись в таблицу только изменений и чтение из такой таблицы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]