Страница 1 из 1

Вопрос по нагрузке на БД

Добавлено: 27 окт 2023, 18:39
ink64rus
Добрый день.
Подскажите пожалуйста. Допустим есть сущность "Сотрудники", где среди информации по сотрудникам, есть поля "Заработано" "Выплачено" "ЗП к выплате", соответственно это MySQL запросы типа SUM[XXX], а "ЗП к выплате" это MySQL формула. И в тестовой сборке конечно все работает, но со временем количество строк (записей) в "заработано/выплачено" будет расти. Насколько сильно это может нагрузить систему через год/два плотного использования? Ведь потом придется суммировать сотни/тысячи строк... Есть советы как избежать этого?

Re: Вопрос по нагрузке на БД

Добавлено: 27 окт 2023, 19:20
believe
У меня склад 1500 позиций, mysql поле было для расчета остатка, итог: зависание на минуту..... (VIP хостинг рег.ру)
Пришлось динамически отображать php полем. Минус, потеря фильтров по полю.

Re: Вопрос по нагрузке на БД

Добавлено: 30 окт 2023, 09:32
Antonyous99
Снимите галку динамического вычисления MySQL запроса.
В т.Сотрудники создайте служебное поле типа, например, дата.
С помощью поля PHP кода items::update_by_id($entity_id, $item_id, $data) в таблицах Заработано и Выплачено создайте события обновления (сохранения) нужной записи в т. Сотрудники. Обновляйте это служебное поле, например, текущей датой time(). После чего ваши MySQL скрипты и формулы сработают по факту изменений в Заработано и Выплачено соотвествующего сотрудника.

Re: Вопрос по нагрузке на БД

Добавлено: 30 окт 2023, 20:28
ink64rus
Благодарю. Хорошая идея

Re: Вопрос по нагрузке на БД

Добавлено: 02 ноя 2023, 00:47
Antonyous99
Но если у вас уже есть, скажем, 10 тыс. записей и вычисления динамические, то после снятия галки "динамический расчет", все эти записи надо циклом пройдет, чтобы данные стали статическими. После чего уже все будет работать, как указано выше.