ПроизводительностьОбновлено: 23.10.2026 11:25:12

Как найти медленный SQL-запрос в 1С-Битрикс

Диагностика медленной страницы через Монитор производительности: хиты, компоненты, журнал SQL, стек вызова и план исполнения.

Время чтения: 10 мин.Уровень: Средний

Системные требования

Нужны тестовая копия проекта, доступ разработчика или администратора и резервная копия перед изменением рабочего кода.

Смотреть системные требования

1. Зафиксируйте медленный сценарий

Запишите URL, пользователя, время и повторяемое действие. Сравните страницу без авторизации и под рабочей ролью. Проверьте общее время ответа, количество запросов и состояние кеша.

Не начинайте оптимизацию по субъективному ощущению: нужен воспроизводимый сценарий до и после изменения.

Монитор производительности

Официальный раздел с отчётами по страницам, компонентам, SQL и кешу.

Скачать

2. Включите монитор на короткий период

Откройте Настройки → Производительность → Панель производительности. В настройках модуля временно включите журнал медленных SQL-запросов и стек вызова.

Установите разумный порог длительности и выключите сбор после теста.

Совет

Включайте подробный журнал SQL на ограниченное время: он создаёт дополнительную нагрузку и может быстро увеличить объём служебных данных.

3. Найдите запрос и компонент

В отчётах «Страницы», «Компоненты», «Хиты» и «SQL запросы» найдите дорогой запрос и вызывающий его компонент. Повторяющийся короткий запрос сотни раз может быть важнее одного длинного.

Стек вызова помогает связать SQL с компонентом, обработчиком или пользовательским модулем.

4. Изучите план исполнения

Откройте план исполнения для запроса. Ищите полное сканирование большой таблицы, сортировку во временной таблице и JOIN без подходящего индекса.

Не добавляйте индекс только по одной строке SQL: оцените частоту запроса, селективность полей и влияние индекса на запись.

5. Исправьте причину и повторите замер

Типовые исправления: уменьшить select, добавить limit, убрать запрос из цикла, объединить выборки, включить кеш или добавить обоснованный индекс.

После изменения очистите только связанный кеш, повторите тот же сценарий и сравните цифры. Сохраните результаты замера и откатите журналирование.

Была ли эта статья полезной?

Спасибо за ваш отзыв!