Индексы для Highload-блока 1С-Битрикс
Находим связанный Highload-блок, его ORM-класс, места вызова, объём данных, частые фильтры, сортировки и операции записи. Снимаем исходные планы EXPLAIN, время выполнения и число просмотренных строк на рабочих примерах.
Когда стоит обратиться
Обычно к нам обращаются в таких ситуациях:
- Страница быстро работает на малом объёме, а после роста Highload-блока начинает ждать базу данных.
- Журнал медленных запросов показывает выборки из пользовательской таблицы с большим числом просмотренных строк.
- Фильтр использует несколько полей, сортировку или диапазон дат, а существующие индексы покрывают только отдельные условия.
Что именно мы сделаем
Находим связанный Highload-блок, его ORM-класс, места вызова, объём данных, частые фильтры, сортировки и операции записи.
Снимаем исходные планы EXPLAIN, время выполнения и число просмотренных строк на рабочих примерах.
Проектируем одиночные либо составные индексы с учётом порядка полей, избирательности и нагрузки на обновление данных.
Добавляем индексы сначала на копии, при необходимости упрощаем условие ORM и повторяем выборки, импорт и массовое обновление.
Устанавливаем проверенную структуру на рабочей базе, сравниваем замеры и передаём список индексов с назначением каждого.
Что входит в стоимость
24 900 ₽ за всю работу
Находим связанный Highload-блок, его ORM-класс, места вызова, объём данных, частые фильтры, сортировки и операции записи. Снимаем исходные планы EXPLAIN, время выполнения и число просмотренных строк на рабочих примерах. Проектируем одиночные либо составные индексы с учётом порядка полей, избирательности и нагрузки на обновление данных. Перед сдачей проверяем, что EXPLAIN для согласованных запросов показывает нужный индекс и заметно меньшее число просматриваемых строк.
В комплект результата входят: рабочие индексы Highload-таблицы и SQL-команды для их создания и удаления; сравнение EXPLAIN, времени ответа и просмотренных строк до и после настройки; карта запросов и короткая инструкция для контроля после роста данных. Небольшие связанные уточнения, которые появляются во время работы, уже учитываем в стоимости.
Что будет готово
Передадим вам
- Рабочие индексы Highload-таблицы и SQL-команды для их создания и удаления.
- Сравнение EXPLAIN, времени ответа и просмотренных строк до и после настройки.
- Карта запросов и короткая инструкция для контроля после роста данных.
Перед сдачей проверим
- EXPLAIN для согласованных запросов показывает нужный индекс и заметно меньшее число просматриваемых строк.
- Повторный замер фиксирует устойчивое сокращение времени нужной страницы или фоновой операции.
- Добавление, изменение и массовая загрузка записей Highload-блока проходят корректно после установки индексов.
Как это выглядит на практике
Быстрый подбор записи по трём условиям
Типичная ситуация: страница быстро работает на малом объёме, а после роста Highload-блока начинает ждать базу данных. Сначала берём медленную страницу и сохраняем её SQL-запрос, план выполнения и время ответа, затем определяем порядок полей составного индекса по фильтру, сортировке и распределению значений, а в финале создаём индекс на тестовой таблице и повторяем тот же запрос на сопоставимом объёме данных.
- 01
Берём медленную страницу и сохраняем её SQL-запрос, план выполнения и время ответа.
- 02
Определяем порядок полей составного индекса по фильтру, сортировке и распределению значений.
- 03
Создаём индекс на тестовой таблице и повторяем тот же запрос на сопоставимом объёме данных.
- 04
Проверяем страницу, импорт новых строк и изменение существующей записи, затем фиксируем итоговые планы.
Что понадобится для работы
От вас
- Доступ к коду, административной части и базе данных проекта.
- Пример медленной страницы, отчёта или фоновой операции с Highload-блоком.
- Журнал медленных запросов либо возможность собрать его на согласованном интервале.
Если у вас немного другая ситуация
Небольшие уточнения, которые помогают довести согласованный результат до рабочего состояния, уже учитываем в цене. Если по ходу работы появится отдельный крупный блок или понадобится платная лицензия, сначала обсудим варианты и стоимость. Расскажите о своей ситуации — подстроим план под неё.
- 3 000 ₽после подписания договора через Диадок
- 21 900 ₽после выполнения, демонстрации и приёмки результата
Предоплата входит в общую стоимость. Оставшуюся сумму оплачиваете после демонстрации и приёмки готовой работы.
Часто спрашивают
Об этой услуге
Что такое составной индекс?
Это упорядоченный указатель сразу по нескольким полям таблицы. База быстро находит строки по привычному сочетанию условий, например по магазину, статусу и дате.
Каждый новый индекс ускоряет Highload-блок?
Пользу даёт индекс, совпадающий с реальными фильтрами и порядком полей. Лишние индексы занимают место и добавляют работу при записи, поэтому каждое решение подтверждаем EXPLAIN и замерами.
Настройка затронет штатное обновление 1С-Битрикс?
Highload-блок хранится в собственной таблице проекта. Мы документируем созданные индексы и проверяем работу ORM, импорта и административного списка на текущем ядре.
Поможет ли индекс при медленном PHP-коде?
Сначала разделяем время базы и PHP. Если основная задержка находится в обработке данных, небольшую связанную правку выборки включим в работу и показываем вклад каждого этапа.
Цена и изменения по ходу работы
Цена на странице окончательная?
Да. Перед началом мы сверяем исходные данные и фиксируем результат в договоре. Указанная на странице сумма покрывает согласованную работу целиком, даже если её техническая реализация потребует больше времени, чем ожидалось при оценке.
Что означает резерв незапланированных работ?
Это уже включённый в цену запас времени на небольшие связанные уточнения заказчика, которые появляются после старта: например, добавить поле, изменить формат уведомления или учесть ещё одно условие обработки.
Резерв рассчитывается по формуле: стоимость услуги × 30% ÷ 1 500 ₽. Для услуги за 30 000 ₽ это 6 часов. Эти часы относятся только к дополнительным, заранее незапланированным уточнениям. Они не являются сроком проекта и не ограничивают время на основную работу: согласованный результат мы выполняем полностью.
Можно уточнять детали уже во время работы?
Да. Небольшие связанные изменения обычно помещаются во включённый резерв и не требуют доплаты. Если новая идея заметно меняет результат или превращается в самостоятельную задачу, сначала обсудим подход и стоимость. Любое решение согласуем до выполнения.
Начало работы и оплата
Как оформляются договор и оплата?
Подписываем договор через Диадок. Предоплата составляет 3 000 ₽ и входит в общую стоимость услуги. Остаток оплачивается после демонстрации и приёмки готового результата.
Когда начинается срок выполнения?
Срок отсчитывается после согласования задачи, получения необходимых доступов и материалов, подписания договора и поступления предоплаты. Конкретную дату старта и плановый день готовности подтверждаем перед началом.
Как учитываются платные лицензии и внешние сервисы?
До старта проверяем, нужны ли тарифы, лицензии, сертификаты или дополнительные ресурсы внешних систем. Если они потребуются, заранее покажем варианты и стоимость. По возможности аккаунты и лицензии оформляются сразу на заказчика.
Проверка результата и гарантия
Как принимается готовая работа?
Вместе проверяем согласованные сценарии на контрольных данных или тестовой копии, а затем демонстрируем результат. Для интеграций сверяем передачу данных и обработку ошибок, для сайта — работу нужных страниц и действий пользователя, для отчёта — расчёты и обновление данных.
Какая гарантия действует после сдачи?
На выполненные изменения действует гарантия 3 месяца. Если в изменённой нами части обнаружится ошибка нашей реализации, проверим и исправим её без дополнительной оплаты. Переданные материалы, настройки и код остаются у заказчика.