8.х В связи счем может тормозить 20 сек отбор в динамическом списке?

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Bkmz, 23 ноя 2017.

  1. TopicStarter Overlay
    Bkmz
    Offline

    Bkmz Опытный в 1С

    Регистрация:
    6 июл 2013
    Сообщения:
    397
    Симпатии:
    11
    Баллы:
    29
    Есть код:

    [​IMG]

    Выделенное красным дает торможение в 20 сек. Что в этом отборе может быть неправильного что так долго работает?
  2. Svb
    Offline

    Svb Опытный в 1С Команда форума

    Регистрация:
    12 янв 2011
    Сообщения:
    1.081
    Симпатии:
    23
    Баллы:
    29
    А точно выделенное красным?
  3. TopicStarter Overlay
    Bkmz
    Offline

    Bkmz Опытный в 1С

    Регистрация:
    6 июл 2013
    Сообщения:
    397
    Симпатии:
    11
    Баллы:
    29
    Замеры слева от кода
  4. Dem0lisher
    Offline

    Dem0lisher Профессионал в 1С

    Регистрация:
    4 авг 2009
    Сообщения:
    1.221
    Симпатии:
    93
    Баллы:
    54
    1. Дин. список с произвольным запросом и в нем фильтруется полтора миллиарда строк?
    2. Уж не Postgre часом?
    3. Отладка на сервере включена? Может мы видим только ничтожную часть замера?
  5. Svb
    Offline

    Svb Опытный в 1С Команда форума

    Регистрация:
    12 янв 2011
    Сообщения:
    1.081
    Симпатии:
    23
    Баллы:
    29
    Там в процентах, а не секундах.
  6. Dem0lisher
    Offline

    Dem0lisher Профессионал в 1С

    Регистрация:
    4 авг 2009
    Сообщения:
    1.221
    Симпатии:
    93
    Баллы:
    54
    О чем и речь-то. Может вся беда на сервере творится, а не на клиенте, где флажок меняется
  7. TopicStarter Overlay
    Bkmz
    Offline

    Bkmz Опытный в 1С

    Регистрация:
    6 июл 2013
    Сообщения:
    397
    Симпатии:
    11
    Баллы:
    29
    Нет. Поменьше. Всего 9000
    Нет. Microsoft SQL Server 2012
    Включена
    --- Объединение сообщений, 23 ноя 2017 ---
    Да. Я знаю. Это я показал что в сумме показал что эти проценты в себя включают где-то 20 сек времени работы (на вскидку).
  8. Dem0lisher
    Offline

    Dem0lisher Профессионал в 1С

    Регистрация:
    4 авг 2009
    Сообщения:
    1.221
    Симпатии:
    93
    Баллы:
    54
    Ну тогда осталось посмотреть текст запроса.
    А в файловую базы выгрузить есть возможность, чтобы сравнить быстродействие этого отбора?
  9. TopicStarter Overlay
    Bkmz
    Offline

    Bkmz Опытный в 1С

    Регистрация:
    6 июл 2013
    Сообщения:
    397
    Симпатии:
    11
    Баллы:
    29
    Код запроса в динамическом списке:
    Код:
    ВЫБРАТЬ РАЗРЕШЕННЫЕ
        СчетНаОплату.Ссылка,
        СчетНаОплату.Номер,
        СчетНаОплату.Дата,
        СчетНаОплату.ВалютаДокумента,
        СчетНаОплату.ДатаВходящегоДокумента,
        СчетНаОплату.ДоговорКонтрагента,
        СчетНаОплату.Комментарий,
        СчетНаОплату.Контрагент,
        СчетНаОплату.Ответственный,
        СчетНаОплату.ОрганизацияБУ,
        СчетНаОплату.НомерВходящегоДокумента,
        ПроцентыПоСчетамНаОплатуПоставщика.ПроцентОплачено,
        ПроцентыПоСчетамНаОплатуПоставщика.ПроцентПринято,
        ПроцентыПоСчетамНаОплатуПоставщика.ПроцентОформлено,
        ПроцентыПоСчетамНаОплатуПоставщика.ПроцентЗаявок,
        ЕСТЬNULL(СтатусыСчетов.Закрыт, ЛОЖЬ) КАК СтатусЗакрыт,
        ЕСТЬNULL(СтатусыСчетов.Отклонен, ЛОЖЬ) КАК СтатусОтклонен,
        ЕСТЬNULL(СтатусыСчетов.Получен, ЛОЖЬ) КАК СтатусПолучен,
        ЕСТЬNULL(СтатусыСчетов.УтвержденКОплате, ЛОЖЬ) КАК СтатусУтвержденКОплате,
        ВЫБОР
            КОГДА СчетНаОплату.БП_СуммаДокументаСУчетомКорректировки = 0
                ТОГДА СчетНаОплату.СуммаДокумента
            ИНАЧЕ СчетНаОплату.БП_СуммаДокументаСУчетомКорректировки
        КОНЕЦ КАК СуммаДокумента
    ИЗ
        Документ.СчетНаОплатуПоставщика КАК СчетНаОплату
            ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.БП_СтатусыСчетов КАК СтатусыСчетов
            ПО СчетНаОплату.Ссылка = СтатусыСчетов.Счет
            ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АВИС_ПроцентыПоСчетамНаОплатуПоставщика КАК ПроцентыПоСчетамНаОплатуПоставщика
            ПО СчетНаОплату.Ссылка = ПроцентыПоСчетамНаОплатуПоставщика.СчетНаОплатуПоставщика
    
    Его я уже оптимизировал. Было 5 соединений с подзапросами. Убрал и соеднил с регистром ПроцентыПоСчетамНаОплатуПоставщика.

    Да реально. Надо будет попробовать.
  10. TopicStarter Overlay
    Bkmz
    Offline

    Bkmz Опытный в 1С

    Регистрация:
    6 июл 2013
    Сообщения:
    397
    Симпатии:
    11
    Баллы:
    29
    На файловой базе выполняется за доли секунды. Но в процентном соотношении все то-же самое.

    [​IMG]

    Получается сам сервер тормозит? Что ему не хватает оперативной памяти?
    Последнее редактирование: 7 дек 2017
  11. Dem0lisher
    Offline

    Dem0lisher Профессионал в 1С

    Регистрация:
    4 авг 2009
    Сообщения:
    1.221
    Симпатии:
    93
    Баллы:
    54
    Наверное это мамкины админы не могут толком настроить СУБД, чтобы 1с на ней комфортно себя чувствовала..
  12. nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    7.783
    Симпатии:
    492
    Баллы:
    104
    Любая СУДБ преобразует запрос для себя. Строит оптимальный для нее план запросов. Следовательно она строит план запросов не совсем корректный.
    Самый простой вариант. Уберите из запроса все таблицы и выходные поля. Оставьте только по минимуму. Ну скажем таблицу документа только. Без выбор когда. Тупо поля. Посмотрите что будет в итоге. Если по времени норм, то присоедините вторую таблицу и так далее пока не поймете в чем конкретно косяк.
  13. TopicStarter Overlay
    Bkmz
    Offline

    Bkmz Опытный в 1С

    Регистрация:
    6 июл 2013
    Сообщения:
    397
    Симпатии:
    11
    Баллы:
    29
    Дело в том что запроса то и нет. Весь код который тормозит показан на скрине.
  14. nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    7.783
    Симпатии:
    492
    Баллы:
    104
    А это что такое?
  15. TopicStarter Overlay
    Bkmz
    Offline

    Bkmz Опытный в 1С

    Регистрация:
    6 июл 2013
    Сообщения:
    397
    Симпатии:
    11
    Баллы:
    29
    Так до него не доходит. После оптимизации на этом участке кода тормозов нет.
  16. nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    7.783
    Симпатии:
    492
    Баллы:
    104
    Честно, ничего не понимаю. Объясните нормально. Динамический список имеет либо таблицу по умолчанию, либо произвольный запрос. Третьего не дано. Что значит до него не доходит? Отбор динамического списка это СКД. И как СКД отбор, это просто формирование запроса по определенным условиям. Возможно у вас запрос формируется программно вообще. Посмотрите текст запроса программно. Посмотрите какой текст появляется после формирования отборов. Вообще смотрите текст запроса динамического списка после каждого действия. Значит он меняется не в лучшую для СУБД сторону.

Поделиться этой страницей