Тормозит динамический список

1. YanSergey 145 10.01.17 11:28 Сейчас в теме
Здравствуйте, коллеги.
Проблема такая.
Есть динамический список с произвольным запросом вида:
ВЫБРАТЬ
	СправочникТовары.Ссылка,
	СправочникТовары.Код,
	СправочникТовары.Артикул,
	СправочникТовары.Наименование,
	НЕ Кеш.Товар ЕСТЬ NULL КАК ТоварИзКеша,
	СправочникТовары.ЭтоГруппа
ИЗ
	Справочник.Товары КАК СправочникТовары
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Кеш КАК Кеш
		ПО СправочникТовары.Ссылка = Кеш.Товар
Показать


Версия платформы 8.3.9.1818.
Отображение динамического списка на форме установлено в "Иерархический список"
Ранее был установлен режим совместимости 8.2.16.
После перевода конфигурации в режим совместимости 8.3.8 этот динамический список стал жутко тормозить.
С другими режимами совместимости 8.3.х та же ситуация.
А именно первоначальное открытие формы с пары секунд увеличилось до многих минут.
Скроллинг формы сильно стал подтормаживать.
Примечательно, что в режиме отображения списка на форме в "Список" или "Дерево" все работает отлично, но нужен именно "Иерархический список".
Если убрать из запроса соединение с регистром сведений, тормоза пропадают.
Пробовал индексировать в регистре измерение "Товар" - не помогло.
Выводил запрос с чтением регистра сведений во временную таблицу, так же с индексированием поля "Товар" - то же не помогло.
В общем то данных в кеше не так много 1000 записей, по сравнению с тем что в справочнике товаров 800 000 записей.
По отдельности в консоли запросов запрос к справочнику товаров выполняется 4.5 секунды, запрос к регистру сведений выполняется мгновенно.
Нужна помощь, советы, хоть что нибудь.
По теме из базы знаний
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. Сурикат 393 10.01.17 14:23 Сейчас в теме
Очень похоже, что платформа не вставляет условие ПЕРВЫЕ 50. Отборов никаких при открытии из пользовательских настроек не добавляется?
База на MS SQL? Смотрите профайлером какой запрос выполняется реально, сразу увидите причину тормозов
YanSergey; +1 Ответить
3. YanSergey 145 16.01.17 14:16 Сейчас в теме
(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 добавилось одно действие с восклицательным знаком, наверно оно все портит.
Непонятно, в чем проблема.
Прикрепленные файлы:
4. Сурикат 393 16.01.17 21:19 Сейчас в теме
А у вас статистика обновлена на 8.3.8?
Дело не в сортировке, она занимает 6% процессорного времени. Выборка из таблицы с номенклатурой происходит гораздо медленнее
И из плана видно, что в первом случае индекс используется, во втором нет
YanSergey; +1 Ответить
5. YanSergey 145 17.01.17 08:29 Сейчас в теме
(4) Виталий, спасибо что помогаете.
А как проверить, обновлена ли статистика?
И как запустить обновление, если не обновлена?
Вообще же она должна обновляться автоматически?
6. Сурикат 393 17.01.17 08:50 Сейчас в теме
(5) Настройте план обслуживания (там есть и обновление статистики и реорганизация индекса). Можно или то, или то выбрать и запустить план принудительно.
Оставьте свое сообщение
Вакансии
1С аналитик
Москва
зарплата от 210 000 руб.
Полный день

Руководитель направления 1С
Москва
зарплата от 350 000 руб.
Полный день

1С Программист
Москва
зарплата от 180 000 руб.
Полный день

Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)