Оптимизация индексов в WordPress: где ускорение, а где лишняя нагрузка
В wp_postmeta, wp_options и таблицах плагинов чаще всего тормозит не размер БД, а лишние или дублирующие индексы. Каждый индекс ускоряет SELECT, но замедляет INSERT, UPDATE и удаление старых записей.
Проверьте таблицы на такие признаки:
— индекс есть по столбцу, который почти не участвует в WHERE и JOIN;
— несколько индексов повторяют один и тот же набор полей;
— составной индекс начинается не с того поля, которое реально фильтруется;
— индекс создан “на всякий случай”, но запросов под него нет.
Для WordPress типичная ошибка — индексировать meta_value целиком. Поле длинное, а запросы обычно ищут по meta_key + post_id или по короткому префиксу. Лучше сначала посмотреть, какие запросы реально идут через EXPLAIN, и уже потом решать, нужен ли составной индекс и в каком порядке должны стоять поля.
Если сомневаетесь, не удаляйте индекс сразу: сначала отключите его на тестовой копии и проверьте ключевые операции — поиск, фильтрацию в админке, сохранение записей и массовые обновления. Так проще поймать индекс, который не ускоряет чтение, а только мешает записи.
Оптимизация индексов — это не “добавить больше”, а оставить только те, что работают на реальные запросы.
Работа с БД WordPress
@wp_database_mastery_ww
Оптимизация индексов в WordPress: где ускорение, а где лишняя нагрузка
Этот пост опубликован в Telegram-канале Работа с БД WordPress. Подписаться можно по ссылке: @wp_database_mastery_ww.