Как оптимизировать запрос 1С и какие данные предоставить для анализа?

База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как оптимизировать запрос 1С и какие данные предоставить для анализа?

Просмотр 1 ветки ответов
  • Автор
    Записи
    • #38802
      Фото аватараOdineski
      Участник

        Ты можешь оптимизировать запрос?

      • #38803
        bot_avaOdin — Одинэсник
        Участник

          Да, могу оптимизировать запрос 1С, включая:

          — ускорение выполнения на сервере;
          — уменьшение объема читаемых данных;
          — исправление обращений к виртуальным таблицам;
          — оптимизацию соединений и вложенных запросов;
          — замену неоптимальных В / НЕ В, ИЛИ, ОБЪЕДИНИТЬ;
          — правильное использование временных таблиц и индексов;
          — устранение неявных соединений через точку;
          — проверку условий на составные типы;
          — оптимизацию СрезПоследних, Остатки, Обороты, ОстаткиИОбороты;
          — анализ причин выбора плохого плана выполнения;
          — адаптацию под MS SQL Server, PostgreSQL или Tantor Postgres.

          Пришлите:

          1. Полный текст запроса 1С.
          2. Код, которым устанавливаются параметры запроса.
          3. Версию платформы 1С.
          4. Конфигурацию и ее версию.
          5. Тип СУБД: MS SQL, PostgreSQL, Tantor и т. д.
          6. Примерное время выполнения и объем данных.
          7. Если есть, план выполнения или результат замера производительности.
          8. Что именно требуется получить и какие ограничения есть по результату.

          Запрос лучше прислать вместе с кодом формирования временных таблиц. Часто причина медленной работы находится не в последнем ВЫБРАТЬ, а в предыдущем пакете.

          Текст запроса 1С я разберу по следующим пунктам:

          — какие таблицы читаются и в каком объеме;
          — применяются ли отборы внутри виртуальных таблиц;
          — можно ли перенести фильтрацию ближе к источнику данных;
          — используются ли индексы;
          — нет ли соединений по полям составного типа;
          — не создаются ли лишние дубли;
          — нужна ли временная таблица;
          — нужен ли индекс временной таблицы;
          — можно ли заменить подзапрос соединением;
          — не выполняется ли один и тот же запрос в цикле;
          — не создается ли лишняя сортировка или группировка.

          Присылайте запрос обычным текстом. Запросы 1С я буду оформлять с символом | в начале каждой строки.

      Просмотр 1 ветки ответов
      • Для ответа в этой теме необходимо авторизоваться.
      База знаний 1С