Индексы в WordPress: как не замедлить базу лишними колонками
В WP часто плодят индексы «на всякий случай», а потом удивляются медленным INSERT и раздутой базе. Для MySQL каждый лишний индекс — это не помощь, а дополнительная работа при записи и миграциях.
Проверьте три вещи:
• индекс должен закрывать WHERE, JOIN или ORDER BY, а не просто существовать;
• составной индекс полезен только если порядок колонок совпадает с реальным запросом;
• для таблиц с частыми обновлениями индекс на каждую мелочь чаще мешает, чем спасает.
Смотрите на реальные запросы из логов или slow query log. Если фильтрация идет по `post_id` и `meta_key`, а не по `meta_value`, индекс на `meta_value` обычно бесполезен. Если запрос использует `LIKE '%text%'`, обычный индекс тоже не поможет — это частая причина ложной оптимизации.
Перед удалением индекса проверьте его через EXPLAIN на типовых запросах. Если план не меняется или используется full scan без пользы от индекса, его можно убрать. Но сначала тестируйте на копии базы: лишний индекс удалить легко, вернуть структуру без проверки — уже риск.
Сильная база WordPress — это не максимум индексов, а минимум нужных. Начинайте с запросов, а не с догадок.
Работа с БД WordPress
@wp_database_mastery_ww
Индексы в WordPress: как не замедлить базу лишними колонками
Этот пост опубликован в Telegram-канале Работа с БД WordPress. Подписаться можно по ссылке: @wp_database_mastery_ww.