Оптимизация с выбранымми
Добавлено: 24 окт 2022, 16:41
Не первый раз замечаю странность возможно ошибка или так задумано но думаю можно как то решить.
Пример структуры: есть таблица 1 в ней 500 разделов, в нее в вложена таблица 2 в ней 10 тысяч записей.
В таблице 2 30 - 40 полей из которых половина это запросы запросы в другие таблицы и формулы с результатами. вычислений.
Теперь о проблеме выбираю например фильтрами 2000 записей, делаю с выбранными обновить простое логическое поле значение с да на нет.... И вот этот процесс занимает в среднем 20 минут...
Что пробовал, и от куда проблема:
1. Пробовал переделать запросы на динамические
- С плюсов да отрабатывает обновление быстрее но есть минусы
- с минусов, приходиться мудрить чтоб использовать в формулах, и что хуже время открытия страницы сразу увеличиваться в много раз - НЕ подходит.
2. Писать формулы с прямыми запросами к БД не через редактор - да частично ускоряет работу в особенности ели сразу сохранять результат Аяксом но все равно долго.
3. Делать через автоматизацию изменении только 1 поля ( Ранее помогало, до перехода на пхп 7 - 8 на сколько помню)
Методом проб выяснил что сейчас при изменении 1 любого поля в таблице 2 происходит полное пере сохранение ( как следствие перерасчет всех полей)
Предлагаю добавить в обновление или в автоматизацию возможность выбора ( галочки или любого другого) Обновлять все поля или только те что указаны
Сделать на 1 кнопку больше автоматизацией или своим запросом или любым удобным способом думаю не проблема. При этом ели надо обновить все нажать обновить все а если только 1 поле то его. Логично при любом обновлении всегда менять дату обновления но остальные поля зачем каждый раз дергать?
Возможно есть уже какое то решение или нужно что то отключить в коде. Заранее спасибо за любой совет или идею.
Текущая проблема сильно замедляет рутинные процессы пользователей. Пробовал на пхп 7.13 - 8.0 Результат не меняется. При этом типовой запрос ( заменить одно значение на другое и дату обновления на текущую даже через ПХП май админ у 50 000 строк занимает секунды)
Обычные пользователи не будут и не должны писать запросы, для них надо кнопка нажал и готово... Поэтому и прошу совета, помощи как можно обойти, решить или доработать этот вопрос так чтобы результат вывести как автоматизацию или типовым способом в простую кнопку с выбранными
Пример структуры: есть таблица 1 в ней 500 разделов, в нее в вложена таблица 2 в ней 10 тысяч записей.
В таблице 2 30 - 40 полей из которых половина это запросы запросы в другие таблицы и формулы с результатами. вычислений.
Теперь о проблеме выбираю например фильтрами 2000 записей, делаю с выбранными обновить простое логическое поле значение с да на нет.... И вот этот процесс занимает в среднем 20 минут...
Что пробовал, и от куда проблема:
1. Пробовал переделать запросы на динамические
- С плюсов да отрабатывает обновление быстрее но есть минусы
- с минусов, приходиться мудрить чтоб использовать в формулах, и что хуже время открытия страницы сразу увеличиваться в много раз - НЕ подходит.
2. Писать формулы с прямыми запросами к БД не через редактор - да частично ускоряет работу в особенности ели сразу сохранять результат Аяксом но все равно долго.
3. Делать через автоматизацию изменении только 1 поля ( Ранее помогало, до перехода на пхп 7 - 8 на сколько помню)
Методом проб выяснил что сейчас при изменении 1 любого поля в таблице 2 происходит полное пере сохранение ( как следствие перерасчет всех полей)
Предлагаю добавить в обновление или в автоматизацию возможность выбора ( галочки или любого другого) Обновлять все поля или только те что указаны
Сделать на 1 кнопку больше автоматизацией или своим запросом или любым удобным способом думаю не проблема. При этом ели надо обновить все нажать обновить все а если только 1 поле то его. Логично при любом обновлении всегда менять дату обновления но остальные поля зачем каждый раз дергать?
Возможно есть уже какое то решение или нужно что то отключить в коде. Заранее спасибо за любой совет или идею.
Текущая проблема сильно замедляет рутинные процессы пользователей. Пробовал на пхп 7.13 - 8.0 Результат не меняется. При этом типовой запрос ( заменить одно значение на другое и дату обновления на текущую даже через ПХП май админ у 50 000 строк занимает секунды)
Обычные пользователи не будут и не должны писать запросы, для них надо кнопка нажал и готово... Поэтому и прошу совета, помощи как можно обойти, решить или доработать этот вопрос так чтобы результат вывести как автоматизацию или типовым способом в простую кнопку с выбранными