Здравствуйте, коллеги.
Проблема такая.
Есть динамический список с произвольным запросом вида:
Версия платформы 8.3.9.1818.
Отображение динамического списка на форме установлено в "Иерархический список"
Ранее был установлен режим совместимости 8.2.16.
После перевода конфигурации в режим совместимости 8.3.8 этот динамический список стал жутко тормозить.
С другими режимами совместимости 8.3.х та же ситуация.
А именно первоначальное открытие формы с пары секунд увеличилось до многих минут.
Скроллинг формы сильно стал подтормаживать.
Примечательно, что в режиме отображения списка на форме в "Список" или "Дерево" все работает отлично, но нужен именно "Иерархический список".
Если убрать из запроса соединение с регистром сведений, тормоза пропадают.
Пробовал индексировать в регистре измерение "Товар" - не помогло.
Выводил запрос с чтением регистра сведений во временную таблицу, так же с индексированием поля "Товар" - то же не помогло.
В общем то данных в кеше не так много 1000 записей, по сравнению с тем что в справочнике товаров 800 000 записей.
По отдельности в консоли запросов запрос к справочнику товаров выполняется 4.5 секунды, запрос к регистру сведений выполняется мгновенно.
Нужна помощь, советы, хоть что нибудь.
Проблема такая.
Есть динамический список с произвольным запросом вида:
ВЫБРАТЬ
СправочникТовары.Ссылка,
СправочникТовары.Код,
СправочникТовары.Артикул,
СправочникТовары.Наименование,
НЕ Кеш.Товар ЕСТЬ NULL КАК ТоварИзКеша,
СправочникТовары.ЭтоГруппа
ИЗ
Справочник.Товары КАК СправочникТовары
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Кеш КАК Кеш
ПО СправочникТовары.Ссылка = Кеш.Товар
ПоказатьВерсия платформы 8.3.9.1818.
Отображение динамического списка на форме установлено в "Иерархический список"
Ранее был установлен режим совместимости 8.2.16.
После перевода конфигурации в режим совместимости 8.3.8 этот динамический список стал жутко тормозить.
С другими режимами совместимости 8.3.х та же ситуация.
А именно первоначальное открытие формы с пары секунд увеличилось до многих минут.
Скроллинг формы сильно стал подтормаживать.
Примечательно, что в режиме отображения списка на форме в "Список" или "Дерево" все работает отлично, но нужен именно "Иерархический список".
Если убрать из запроса соединение с регистром сведений, тормоза пропадают.
Пробовал индексировать в регистре измерение "Товар" - не помогло.
Выводил запрос с чтением регистра сведений во временную таблицу, так же с индексированием поля "Товар" - то же не помогло.
В общем то данных в кеше не так много 1000 записей, по сравнению с тем что в справочнике товаров 800 000 записей.
По отдельности в консоли запросов запрос к справочнику товаров выполняется 4.5 секунды, запрос к регистру сведений выполняется мгновенно.
Нужна помощь, советы, хоть что нибудь.
По теме из базы знаний
- В «1С:ЗУП КОРП 3.1» тормоза (медленная работа) в журналах документов при использовании критериев отбора
- Подсчёт и отображение количества строк в динамическом списке
- Динамический список и поиск... неприятностей
- Как приручить драконов. История построения экосистемы на основе 1С
- История одного админа в мире 1С. Как поиски причины тормозов 1С привели к созданию нового продукта
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Очень похоже, что платформа не вставляет условие ПЕРВЫЕ 50. Отборов никаких при открытии из пользовательских настроек не добавляется?
База на MS SQL? Смотрите профайлером какой запрос выполняется реально, сразу увидите причину тормозов
База на MS SQL? Смотрите профайлером какой запрос выполняется реально, сразу увидите причину тормозов
(2) Да, база на MS SQL 2014.
"Первые 45" система в SQL запрос добавляет.
Причем после общего запроса "SELECT TOP 45..." идет кучка таких же запросов к каждой номенклатуре "SELECT TOP 1...", в том числе и к группам.
И вот что заметил.
В режиме совместимости 8.2.16:
Для группы номенклатуры "КОВРИКИ ПОДДОНЫ" количество чтений 11, показатель CPU = 15, длительности запроса 2 мс
В режиме совместимости 8.3.8:
Для этой же группы количество чтений 2 273 883, показатель CPU = 5782, длительности запроса 18264 мс
В сравнении планов запросов в 8.3.8 добавилось одно действие с восклицательным знаком, наверно оно все портит.
Непонятно, в чем проблема.
"Первые 45" система в SQL запрос добавляет.
Причем после общего запроса "SELECT TOP 45..." идет кучка таких же запросов к каждой номенклатуре "SELECT TOP 1...", в том числе и к группам.
И вот что заметил.
В режиме совместимости 8.2.16:
Для группы номенклатуры "КОВРИКИ ПОДДОНЫ" количество чтений 11, показатель CPU = 15, длительности запроса 2 мс
В режиме совместимости 8.3.8:
Для этой же группы количество чтений 2 273 883, показатель CPU = 5782, длительности запроса 18264 мс
В сравнении планов запросов в 8.3.8 добавилось одно действие с восклицательным знаком, наверно оно все портит.
Непонятно, в чем проблема.
Прикрепленные файлы:
А у вас статистика обновлена на 8.3.8?
Дело не в сортировке, она занимает 6% процессорного времени. Выборка из таблицы с номенклатурой происходит гораздо медленнее
И из плана видно, что в первом случае индекс используется, во втором нет
Дело не в сортировке, она занимает 6% процессорного времени. Выборка из таблицы с номенклатурой происходит гораздо медленнее
И из плана видно, что в первом случае индекс используется, во втором нет
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот