@kiru
Аналитик

Из таблицы справочника или регистра накопления быстрее получить данные?

Есть отчёт который берет данные из табличной части элементов справочника. Отчёт формируется очень долго до 5-10 минут.

Подскажите пжта, если отчёт будет брать данные из регистра накопления, это ускорит работу отчёта? Намного? И Почему?
  • Вопрос задан
  • 256 просмотров
Решения вопроса 1
@Dementor
программист, архитектор, аналитик
Если бездумно заменить одну таблицу на другую, то это вам не поможет. А индексы можно и в табличных частях справочника добавлять.

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

P.S. Кстати, одна из причин использования непериодических регистров сведения, которые подчинены справочникам (в виде указания ведущим измерением), вместо обычных табличных частей - как раз борьба с блокировками, которые возникают при обычной работе пользователей в базе с формами этих справочников. Их продвигали в эпоху конфигураций 8.0-8.2, но в новых типовых конфигурациях вернулись назад к использованию табличных частей. Пример - контактная информация.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы