Тупит форма подбора товара в документы продажи ЕРП 2. Галочка "Только в наличии"
Всем привет.
Вопрос собственно в теме обозначен.
Немного контекста:
платформа - 8.3.15.1830
конфа - 1С:ERP Управление предприятием 2 (2.4.11.104)
Справочник номенклатуры содержит 1 600 000+ элементов
При работе с формой подбора товара в документ продажи или в помощник продажи, при нажатии галки "только в наличии" тупит 10-15 минут, точно не помню. Если есть отбор по складу, то галка уже называется "только в наличии на складе Центральный склад" и выполняется быстрее, но все равно тупит.
На форме добавлены свои галки, которые работают быстро, меньше секунды.
Сразу скажу, тупил функционал и до наших галок, когда все типовое - форма, общие модули и т.д.
В профайлере отловил запросы дин.списка формы подбора, все одинаково, кроме условий запроса:
Отличие в условии следующее:
WHERE
((T1._Fld2329 = *P204)) AND -- разделитель, не используется
((T1._Folder) = 0x01 AND -- условие, что не группа
(T1._Fld55579RRef IN (*P205, *P206, *P207, *P208, *P209)) AND -- условие на тип товара,
CASE WHEN (T13._Fld66874RRef IS NULL) THEN 0x00 WHEN (T13._Fld66874RRef = *P210) THEN 0x00 ELSE 0x01 END = 0x01) --работает быстро, наша галка
WHERE
((T1._Fld2329 = *P204)) AND
((T1._Folder) = 0x01 AND
(T1._Fld55579RRef IN (*P205, *P206, *P207, *P208, *P209)) AND
(ISNULL(CAST(T10.Fld48069Balance_ AS NUMERIC(21, 3)),*P210) > *P211)) -- тупит, типовая "только в наличии"
По плану запроса видно, что не все в порядке, например, при поиске по индексу (регистр сведений цены номенклатуры)
- предполагаемое количество выполнение - 1
- предполагаемое количество строк 1.5
- фактическое количество выполнений - 1
- фактическое колво строк - 1 980 000
из-за этого затем далее используется темпДБ для сброса данных для сортировки. Статистика обновлена по индексам обновлена, индексы не фрагментированы, процедурный кэш чистил, все равно не помогает.
Есть еще другие моменты, все не опишешь, Если интересно могу планы прикрепить.
Кто сталкивался с подобной проблемой?
Вопрос собственно в теме обозначен.
Немного контекста:
платформа - 8.3.15.1830
конфа - 1С:ERP Управление предприятием 2 (2.4.11.104)
Справочник номенклатуры содержит 1 600 000+ элементов
При работе с формой подбора товара в документ продажи или в помощник продажи, при нажатии галки "только в наличии" тупит 10-15 минут, точно не помню. Если есть отбор по складу, то галка уже называется "только в наличии на складе Центральный склад" и выполняется быстрее, но все равно тупит.
На форме добавлены свои галки, которые работают быстро, меньше секунды.
Сразу скажу, тупил функционал и до наших галок, когда все типовое - форма, общие модули и т.д.
В профайлере отловил запросы дин.списка формы подбора, все одинаково, кроме условий запроса:
Отличие в условии следующее:
WHERE
((T1._Fld2329 = *P204)) AND -- разделитель, не используется
((T1._Folder) = 0x01 AND -- условие, что не группа
(T1._Fld55579RRef IN (*P205, *P206, *P207, *P208, *P209)) AND -- условие на тип товара,
CASE WHEN (T13._Fld66874RRef IS NULL) THEN 0x00 WHEN (T13._Fld66874RRef = *P210) THEN 0x00 ELSE 0x01 END = 0x01) --работает быстро, наша галка
WHERE
((T1._Fld2329 = *P204)) AND
((T1._Folder) = 0x01 AND
(T1._Fld55579RRef IN (*P205, *P206, *P207, *P208, *P209)) AND
(ISNULL(CAST(T10.Fld48069Balance_ AS NUMERIC(21, 3)),*P210) > *P211)) -- тупит, типовая "только в наличии"
По плану запроса видно, что не все в порядке, например, при поиске по индексу (регистр сведений цены номенклатуры)
- предполагаемое количество выполнение - 1
- предполагаемое количество строк 1.5
- фактическое количество выполнений - 1
- фактическое колво строк - 1 980 000
из-за этого затем далее используется темпДБ для сброса данных для сортировки. Статистика обновлена по индексам обновлена, индексы не фрагментированы, процедурный кэш чистил, все равно не помогает.
Есть еще другие моменты, все не опишешь, Если интересно могу планы прикрепить.
Кто сталкивался с подобной проблемой?
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
какая-то путаница в описании, то вы пищите что с вашей галкой Тупит, то приводите пример что ваша Галка НЕ Тупит, - Вы уж определитесь!
ну и совет: Попробуйте переписать Запрос, в соответствии с рекомендациями по оптимизации от 1С - помогает.
1.передайте всевозможные отборы в виртуальную таблицу
2.разбейте Номенклатуру по группам, трудно представить что при подборе нужна сразу вся Номенклатура, а выбор по группам значительно сократит список
если выложите весь свой запрос (и если он не 5 метров) подсказки будут более конструктивные!
ну и совет: Попробуйте переписать Запрос, в соответствии с рекомендациями по оптимизации от 1С - помогает.
1.передайте всевозможные отборы в виртуальную таблицу
2.разбейте Номенклатуру по группам, трудно представить что при подборе нужна сразу вся Номенклатура, а выбор по группам значительно сократит список
если выложите весь свой запрос (и если он не 5 метров) подсказки будут более конструктивные!
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот