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

Очень долгая загрузка отчета в группе отчетов

Добавлено: 09 мар 2024, 00:21
dilon
Кратко о проблеме:
В группе отчетов есть только один отчет. И если его открыть в группе отчетов .../index.php?module=dashboard/reports&id=19, то он открывается 25 (!!!) секунд. (специально измерил)
Если этот же самый отчет открыть просто как отчет .../index.php?module=reports/view&reports_id=268 , то он открывается за 2 секунды.

Подробнее.
1) Заметил это после обновления срм с версии 3.0.1 на версию 3.5.1. Поэтому появилась ли проблема в версии 3.5 или в более ранних версиях - сказать не могу.
2) Изначально в группе отчетов был конечно же не 1, а 2 отчета. Это уже в ходе эксперимента оставил один.
3) Важное для выявление причин. В этой же срм есть и другие группы отчетов, и там такой проблемы не замечено. Открываются сносно, в пределах 2-5 секунд.
4) Далее я стал сравнивать и выявлять, чем уникальна эта сущность, отчет по которой в группе отчетов открывается 25 секунд, а без группы за 2 секунды. Вот что замечено:
а) В отчет попадает 15 тыс записей. Во всех других отчетах в группах максимум 5тыс.
б) В сущности 41 поле не считая служебных
в) Из них 5 полей = MySQL запрос, 7 полей = MySQL Формула, 10 полей = Значение из родительской сущности.

Есть гипотеза, что отчет, открытый в группе отчетов открывается так, что он вынужден выполнять MySQL запросы и вычисления по MySQL Формулам по всем 15 тыс. записям. И только после этого отобразить первые 20 записей на 1-ой странице.

А если этот же самый отчет открыть напрямую как отчет, то MySQL запросы и вычисления по MySQL Формулам выполняются только по 20 записям, которые собственно и нужно открыть на 1й странице отчета.

Re: Очень долгая загрузка отчета в группе отчетов

Добавлено: 09 мар 2024, 00:32
Fait
Кстати реально, я тоже замечал такое!
Именно на главной странице отчёт грузится ооочень долго. А если отдельно открыть, то быстро!
Я думал, у меня одного такое.

Re: Очень долгая загрузка отчета в группе отчетов

Добавлено: 09 мар 2024, 18:34
support
Не могу повторить проблему. Единственное что нашел, что поле MySQL запрос не исключается из запроса, если его нет в списке. Доработал код и теперь если поле MySQL запрос отсутствует в списке, запрос не будет включаться в основной запрос.

Файлы из архива замените в includes\classes\fieldstypes\

Дальше, перейдите в настройки сущности и включите "Режим отладки (MySQL запрос)" в настройках списка.

Пришлите запрос, который на странице отчета и и который на странице группы отчета. Я их сравню и посмотрю чем они отличаются.

Re: Очень долгая загрузка отчета в группе отчетов

Добавлено: 09 мар 2024, 18:41
support
2) Изначально в группе отчетов был конечно же не 1, а 2 отчета. Это уже в ходе эксперимента оставил один.
В группе отчетов только 1 отчет или может есть еще какие то счетчики?

Re: Очень долгая загрузка отчета в группе отчетов

Добавлено: 09 мар 2024, 22:08
dilon
support писал(а): 09 мар 2024, 18:41 В группе отчетов только 1 отчет или может есть еще какие то счетчики?
только один отчет.
это точно. счетчиков нет. сейчас еще раз проверил.

то, что пишете выше, сделаю чуть позже и отпишусь

Re: Очень долгая загрузка отчета в группе отчетов

Добавлено: 09 мар 2024, 22:33
dilon
support писал(а): 09 мар 2024, 18:34
Файлы из архива замените в includes\classes\fieldstypes\
Как только заменил файлы проблема исчезла.
Спасибо Вам за оперативное решение проблемы.
Я так понимаю отладку отправлять Вам уже не надо)

Re: Очень долгая загрузка отчета в группе отчетов

Добавлено: 10 мар 2024, 08:21
support
Ну раз проблемы нет, то не нужно.
Данное исправление войдет в 3.5.2