Оптимизация индексов в WordPress: 4 ошибки, которые тормозят БД и поиск
Если таблица растёт, а запросы начинают «плыть», проблема часто не в объёме данных, а в лишних или бесполезных индексах. Индекс должен ускорять конкретный запрос, а не просто «быть на всякий случай».
Проверьте базовые вещи:
• индекс есть на полях, которые участвуют в WHERE, JOIN и ORDER BY
• составной индекс начинается с самого частого фильтра
• порядок колонок в индексе совпадает с реальным запросом
• дублирующие индексы на одну и ту же колонку удалены
В WordPress это особенно заметно в таблицах postmeta и options: там часто ставят индекс на meta_key, но забывают, что запрос фильтрует ещё и по meta_value или по нескольким условиям сразу. Один одиночный индекс не спасёт, если MySQL всё равно вынужден читать лишние строки. ⚙️
Проверяйте не «наличие индекса», а план выполнения запроса: если в нём full scan, значит индекс либо не используется, либо выбран неверно. Иногда быстрее убрать редкий индекс и оставить один рабочий составной, чем держать пять слабых.
Итог простой: оптимизируйте индексы под реальные запросы, а не под структуру таблицы. Сначала найдите медленный SELECT, потом под него соберите нужный индекс и только после этого трогайте остальные.
Работа с БД WordPress
@wp_database_mastery_ww
Оптимизация индексов в WordPress: 4 ошибки, которые тормозят БД и поиск
Этот пост опубликован в Telegram-канале Работа с БД WordPress. Подписаться можно по ссылке: @wp_database_mastery_ww.