+7 499 938 8452 пн.-пт. 10:00 – 17:00

Анализ запросов к БД и создание индексов к запросам

Технические данные

Дата публикации:
Адаптивность:
Нет
Поддержка композита:
Нет

Описание

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

6 000 ₽ · топ 5–10 запросов · не перевод всего магазина на InnoDB

Для кого

  • каталог или фильтр «крутится», хотя php.ini уже смотрели;
  • в мониторе Битрикс торчат долгие SQL, непонятно — нет индекса или кривой запрос в шаблоне;
  • нужны индексы по факту медленного лога, а не «на всякий случай на все поля»;
  • не хотите ночной ALTER на таблице в десятки гигабайт без предупреждения.

Что входит

  1. Медленный лог — за 1–3 дня до работ (если ещё не включён — включим в начале; в отчёте тогда разовый PROCESSLIST, без истории).
  2. Топ 5–10 запросов — по времени и числу повторов. Не разбор всей базы «таблица за таблицей».
  3. EXPLAIN — до и после: type, key, rows. Понятно, помог индекс или запрос всё равно полный скан.
  4. Индексы — где безопасно: свои таблицы, явная дырка в ключе. Не «индекс на каждое поле» и не дубли ключей Битрикс.
  5. Большие ALTER — если таблица огромная или пик продаж, не делаем молча: в отчёте окно работ или смета.
  6. Отчёт — запрос / сколько раз / 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 дня, если ещё не включён — или согласие включить в начале;
  • доступы не открытым текстом в мессенджере.

Как проходит работа

  1. Снимаем топ из slow log или разовый PROCESSLIST.
  2. EXPLAIN, решение: индекс / не трогать / это код.
  3. Создаём безопасные индексы, повторный EXPLAIN.
  4. Отчёт. Если узкое место в шаблоне или в буфере InnoDB — направляем на соседнюю услугу.

Частые вопросы

Это настройка MySQL как на хостинге?
Нет. Здесь конкретные запросы и ключи. Размер буфера InnoDB и swap — другая карточка.

Переведёте все таблицы на InnoDB?
Нет. Это может заблокировать магазин. В отчёте напишем, каким таблицам это нужно — отдельным окном.

Почему не все запросы сайта?
Топ 5–10 даёт ясный результат за пакет. Остальное — смета, если после индексов лог всё ещё толстый.

Запрос из ядра Битрикс — тоже индекс?
Если ключ безопасен — да. Переписывать ядро не будем: это уже код и риск обновлений.

Установите этот модуль прямо сейчас!

Для этого укажите адрес сайта:

пример: https://www.site.ru
Анализ запросов к БД и создание индексов к запросам
Анализ запросов к БД и создание индексов к запросам
6 000 руб