Поисковый индекс
Поисковый индекс, это структура данных, которая помогает базе данных быстрее находить нужную информацию. Без индексов поиск по большим таблицам может занимать много времени.
В каждом проекте медленные запросы зависят от структуры данных и частоты использования. Например, на сайте с большим количеством товаров медленным может быть запрос на поиск по цене и категории. В таких случаях помогает составной индекс, он создается сразу по нескольким полям таблицы.
Как определить, какие индексы нужны
Для определения, поможет монитор производительности. Монитор производительности — это инструмент, который помогает находить медленные запросы SQL.
- Откройте административный раздел сайта
- Перейдите в
Настройки -> Настройки продукта -> Настройки модулей -> Монитор производительности - Включите опцию
Записывать только медленные SQL-запросы - Укажите время, после которого запрос считается медленным. По умолчанию это
0,1секунды - Установите время работы монитора. Рекомендуем запускать его на одни сутки
- Нажмите
Сохранить, запустится монитор производительности. Через сутки вы сможете проанализировать медленные запросы
Анализ результатов
После завершения работы монитора производительности:
- Откройте административный раздел сайта
- Перейдите в
Настройки -> Производительность -> Индексы -> Анализ индексов - Нажмите
Выполнить анализ собранных SQL-запросов
В результатах обратите внимание:
- На запросы с наибольшим временем выполнения
- Запросы, которые выполняются чаще всего
Не для каждого запроса нужно создавать индекс, так как это может увеличить нагрузку на базу данных. Иногда проблема в коде компонента. Например, если компонент делает слишком много запросов к базе данных, их можно оптимизировать.
Создание индекса
Чтобы создать индекс для конкретного запроса:
- Перейдите в
Настройки -> Производительность -> Индексы -> Анализ индексов - Выберите нужный запрос, откройте меню и нажмите
Детальный анализ, откроется страница с детальным анализом запроса - Перейдите во вкладку
Создание индексаи нажмитеСоздать индекс
Созданный индекс появится на странице Настройки -> Производительность -> Индексы -> Список индексов. Проверьте его эффективность, выполнив повторный анализ запросов:




