Анализ запросов к БД и создание индексов к запросам
Технические данные
Дата публикации:
Адаптивность:
Нет
Поддержка композита:
Нет
Описание
Смотрим, какие запросы к MySQL тормозят каталог и корзину, и ставим индексы там, где это безопасно.
6 000 ₽ · топ 5–10 запросов · не перевод всего магазина на InnoDB
Для кого
- каталог или фильтр «крутится», хотя php.ini уже смотрели;
- в мониторе Битрикс торчат долгие SQL, непонятно — нет индекса или кривой запрос в шаблоне;
- нужны индексы по факту медленного лога, а не «на всякий случай на все поля»;
- не хотите ночной ALTER на таблице в десятки гигабайт без предупреждения.
Что входит
- Медленный лог — за 1–3 дня до работ (если ещё не включён — включим в начале; в отчёте тогда разовый
PROCESSLIST, без истории). - Топ 5–10 запросов — по времени и числу повторов. Не разбор всей базы «таблица за таблицей».
- EXPLAIN — до и после: type, key, rows. Понятно, помог индекс или запрос всё равно полный скан.
- Индексы — где безопасно: свои таблицы, явная дырка в ключе. Не «индекс на каждое поле» и не дубли ключей Битрикс.
- Большие ALTER — если таблица огромная или пик продаж, не делаем молча: в отчёте окно работ или смета.
- Отчёт — запрос / сколько раз / EXPLAIN / что создали / что лучше править в коде или на хостинге.
Что не входит
- Буфер InnoDB, swap, redis, php.ini — анализ хостинга.
- Перевод MyISAM→InnoDB всех таблиц и property 2.0 инфоблоков — не этот пакет (риск блокировок).
- Циклы в шаблоне, N+1, git — анализ качества кода.
- Переписывание
GetListядра и «все запросы < 0,1 с». - Переход на PHP 8, обновление ядра, лечение вирусов.
Что нужно от вас
- доступ к MySQL (SSH или панель, где виден slow query log);
- админка 1С-Битрикс (монитор производительности полезен, не обязателен);
- включить медленный лог за 1–3 дня, если ещё не включён — или согласие включить в начале;
- доступы не открытым текстом в мессенджере.
Как проходит работа
- Снимаем топ из slow log или разовый PROCESSLIST.
- EXPLAIN, решение: индекс / не трогать / это код.
- Создаём безопасные индексы, повторный EXPLAIN.
- Отчёт. Если узкое место в шаблоне или в буфере InnoDB — направляем на соседнюю услугу.
Частые вопросы
Это настройка MySQL как на хостинге?
Нет. Здесь конкретные запросы и ключи. Размер буфера InnoDB и swap — другая карточка.
Переведёте все таблицы на InnoDB?
Нет. Это может заблокировать магазин. В отчёте напишем, каким таблицам это нужно — отдельным окном.
Почему не все запросы сайта?
Топ 5–10 даёт ясный результат за пакет. Остальное — смета, если после индексов лог всё ещё толстый.
Запрос из ядра Битрикс — тоже индекс?
Если ключ безопасен — да. Переписывать ядро не будем: это уже код и риск обновлений.
Установите этот модуль прямо сейчас!
Для этого укажите адрес сайта:
пример: https://www.site.ru
Анализ запросов к БД и создание индексов к запросам
6 000 руб
