[DASH] Количество запросов в БД

Всё, что не подходит под вышеперечисленные разделы

Модератор: immortal

Аватара пользователя
xor
Сообщения: 1739
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 212 раз
Поблагодарили: 521 раз

Re: [DASH] Количество запросов в БД

Сообщение xor » Пт фев 12, 2021 3:19 pm

Strangeman писал(а):
Ср фев 10, 2021 11:07 pm
Кстати, UpdatedText - это хорошо, но есть ещё один момент - для каждого значения с некоторых пор пишется источник. Это удобно при отладке, но дополнительно грузит БД.
с точки зрения базы данных - запись чего-то ещё в поле в строке таблицы - мизер по сравнению со временем установления связи с базой, блокировкой таблицы, поиском нужной записи в ней, редактированием, разблокировкой таблицы и закрытием связи с бд.
Это я описал выполнение SQLUpdate для примера с грубым упрощением процесса
За это сообщение автора xor поблагодарил:
Chainik (Пт фев 12, 2021 3:23 pm)
Рейтинг: 1.18%
Chainik
Сообщения: 1357
Зарегистрирован: Вс янв 10, 2016 11:05 am
Благодарил (а): 223 раза
Поблагодарили: 426 раз

Re: [DASH] Количество запросов в БД

Сообщение Chainik » Пт фев 12, 2021 3:25 pm

xor писал(а):
Пт фев 12, 2021 3:19 pm
с точки зрения базы данных - запись чего-то ещё в поле в строке таблицы - мизер по сравнению со временем установления связи с базой, блокировкой таблицы, поиском нужной записи в ней, редактированием, разблокировкой таблицы и закрытием связи с бд.
А ощутимо ли все это ускоряется, при переносе БД в ОЗУ? Помню, вы описывали свой положительный опыт по этому поводу на Win.
Logrus
Сообщения: 1760
Зарегистрирован: Пт апр 07, 2017 12:20 pm
Благодарил (а): 296 раз
Поблагодарили: 364 раза

Re: [DASH] Количество запросов в БД

Сообщение Logrus » Пт фев 12, 2021 5:45 pm

xor писал(а):
Пт фев 12, 2021 3:19 pm
Strangeman писал(а):
Ср фев 10, 2021 11:07 pm
Кстати, UpdatedText - это хорошо, но есть ещё один момент - для каждого значения с некоторых пор пишется источник. Это удобно при отладке, но дополнительно грузит БД.
с точки зрения базы данных - запись чего-то ещё в поле в строке таблицы - мизер по сравнению со временем установления связи с базой, блокировкой таблицы, поиском нужной записи в ней, редактированием, разблокировкой таблицы и закрытием связи с бд.
Это я описал выполнение SQLUpdate для примера с грубым упрощением процесса
для малинок это критично при большем количестве истории раздуванием бд в памяти и перезаписи этой большей бд на флешку

причем в историческом цикле неверно обрабатывает поле соурс и сам смысл от этих лживых данных теряется
За это сообщение автора Logrus поблагодарил:
Strangeman (Вт фев 16, 2021 5:16 pm)
Рейтинг: 1.18%
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
Аватара пользователя
ProxXx
Сообщения: 16
Зарегистрирован: Сб июл 04, 2020 8:59 am
Благодарил (а): 2 раза
Поблагодарили: 0

Re: [DASH] Количество запросов в БД

Сообщение ProxXx » Сб фев 13, 2021 3:55 pm

Chainik писал(а):
Пт фев 12, 2021 3:25 pm
xor писал(а):
Пт фев 12, 2021 3:19 pm
с точки зрения базы данных - запись чего-то ещё в поле в строке таблицы - мизер по сравнению со временем установления связи с базой, блокировкой таблицы, поиском нужной записи в ней, редактированием, разблокировкой таблицы и закрытием связи с бд.
А ощутимо ли все это ускоряется, при переносе БД в ОЗУ? Помню, вы описывали свой положительный опыт по этому поводу на Win.
я никакой ощутимой разници для себя не обнаружил...
В свободное время модифицирую игры. Если интересно, можете скачать кс го 1 6 со скинами моего творения на пробу.
Аватара пользователя
xor
Сообщения: 1739
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 212 раз
Поблагодарили: 521 раз

Re: [DASH] Количество запросов в БД

Сообщение xor » Вс фев 14, 2021 11:49 am

Chainik писал(а):
Пт фев 12, 2021 3:25 pm
xor писал(а):
Пт фев 12, 2021 3:19 pm
с точки зрения базы данных - запись чего-то ещё в поле в строке таблицы - мизер по сравнению со временем установления связи с базой, блокировкой таблицы, поиском нужной записи в ней, редактированием, разблокировкой таблицы и закрытием связи с бд.
А ощутимо ли все это ускоряется, при переносе БД в ОЗУ? Помню, вы описывали свой положительный опыт по этому поводу на Win.
ускорения не заметил, диск нагружается меньше - для модных твердотельных дисков очень хорошо
Аватара пользователя
Alexander Znamensky
Сообщения: 156
Зарегистрирован: Ср дек 18, 2019 11:13 am
Откуда: Москва
Благодарил (а): 85 раз
Поблагодарили: 21 раз

Re: [DASH] Количество запросов в БД

Сообщение Alexander Znamensky » Вт фев 16, 2021 11:27 am

Коллеги, добрый день.

Вот тоже пытаюсь снизить количество обращений к БД. Возник вопрос - что лучше использовать с т.з. нагрузки на БД - CRON или таймеры settimeout?

Спасибо!
Raspberry Pi4 B+, образ v4_44 -> Alpha, PHP 7.3, Xiaomi Gateway 2, Tuya, Blynk, ESP8266
Аватара пользователя
SmoKE_xDDD
Сообщения: 730
Зарегистрирован: Ср апр 17, 2019 5:00 pm
Откуда: Нижний Новгород
Благодарил (а): 89 раз
Поблагодарили: 766 раз

Re: [DASH] Количество запросов в БД

Сообщение SmoKE_xDDD » Вт фев 16, 2021 11:35 am

Alexander Znamensky писал(а):
Вт фев 16, 2021 11:27 am
Коллеги, добрый день.

Вот тоже пытаюсь снизить количество обращений к БД. Возник вопрос - что лучше использовать с т.з. нагрузки на БД - CRON или таймеры settimeout?

Спасибо!
Лучше использовать "события", а не деркать каждую секунду систему (Крон и таймер по сути работают одинаково, дергают раз в секунду).
Либо если и юзать таймеры, то как можно сильнее сократить интервалы. Например:
В 19:00 вы заводите таймер на 07:00 следующего дня - будет тикать 11 часов - плохое решение.
Можно записать 1 в свойство и при наступлении нового дня ставить таймер если 1. Это простой пример.
За это сообщение автора SmoKE_xDDD поблагодарил:
Alexander Znamensky (Вт фев 16, 2021 12:12 pm)
Рейтинг: 1.18%
Chainik
Сообщения: 1357
Зарегистрирован: Вс янв 10, 2016 11:05 am
Благодарил (а): 223 раза
Поблагодарили: 426 раз

Re: [DASH] Количество запросов в БД

Сообщение Chainik » Вт фев 16, 2021 12:03 pm

SmoKE_xDDD писал(а):
Вт фев 16, 2021 11:35 am
Лучше использовать "события", а не деркать каждую секунду систему...
В смысле использовать "AddScheduledJob" или "registerEvent"?
Аватара пользователя
SmoKE_xDDD
Сообщения: 730
Зарегистрирован: Ср апр 17, 2019 5:00 pm
Откуда: Нижний Новгород
Благодарил (а): 89 раз
Поблагодарили: 766 раз

Re: [DASH] Количество запросов в БД

Сообщение SmoKE_xDDD » Вт фев 16, 2021 1:00 pm

Chainik писал(а):
Вт фев 16, 2021 12:03 pm
SmoKE_xDDD писал(а):
Вт фев 16, 2021 11:35 am
Лучше использовать "события", а не деркать каждую секунду систему...
В смысле использовать "AddScheduledJob" или "registerEvent"?
Нет. Физические события: открыл дверь.
Например кейс: При открытии входной двери включается свет в прихожей.
Стандартно большинство из юзеров поставит таймер на выключение света через условно 10 минут.
А можно так: открыл дверь - датчик открытия включил свет - записали время открытия двери - датчки движения прислал, что нет движения 600 секунд - выключили свет. Все без таймеров.

Естественно, совсем от таймеров не отказаться, но по возможности сократить.
Logrus
Сообщения: 1760
Зарегистрирован: Пт апр 07, 2017 12:20 pm
Благодарил (а): 296 раз
Поблагодарили: 364 раза

Re: [DASH] Количество запросов в БД

Сообщение Logrus » Вт фев 16, 2021 1:51 pm

Alexander Znamensky писал(а):
Вт фев 16, 2021 11:27 am
Коллеги, добрый день.

Вот тоже пытаюсь снизить количество обращений к БД. Возник вопрос - что лучше использовать с т.з. нагрузки на БД - CRON или таймеры settimeout?

Спасибо!
если их не много разницы не увидишь
модуль крон создает таймеры, управление через свои об!екты и свойства
если справишься в классе таймер и методах то не нужен модуль
сейчас свойства кешируются двумя сущностями, т.ч. сильно ими не мусорьте

п.с. обращение к бд в других местах, недавно одно ликвидировали, еще циклы с таймштампом, системстатес и пр. мелочи
ваши входные данные и их обработка
в некоторых модулях еще, к примеру пинг онлайн наоверхедили (апдейт дважды на каждую итерацию)
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
Ответить