Оптимизация индексов в WordPress: где ускорение, а где лишняя нагрузка
В WordPress медленно работает не только «тяжёлая» тема — часто виноваты индексы в wp_posts, wp_postmeta и wp_options. Главная ошибка: добавлять индекс «на глаз», не глядя в реальные запросы. Сначала ищите медленные SELECT по EXPLAIN, а уже потом решайте, какой столбец индексировать.
Полезные кандидаты для индекса:
• wp_postmeta(meta_key, post_id) — если часто ищете метаданные по ключу и посту
• wp_posts(post_type, post_status, post_date) — если фильтруете список записей
• wp_options(option_name) — если есть частые точечные обращения по имени
Но индекс — это не бесплатное ускорение. Каждый лишний индекс замедляет INSERT, UPDATE и DELETE, а на таблицах с большим количеством записей может раздувать размер базы. Поэтому сначала удаляйте дублирующие индексы и проверяйте, не покрывает ли один составной индекс сразу несколько запросов.
Хорошая практика: сравнить план до и после, посмотреть количество строк в EXPLAIN и убедиться, что MySQL реально выбирает индекс, а не делает full scan. Если запросов много и они однотипные, иногда выгоднее поменять сам SQL, чем наращивать новые индексы.
Итог простой: индекс добавляют под конкретный запрос, а не «для ускорения базы». Сначала анализ, потом точечное изменение, и только после этого — проверка на побочные эффекты.
Работа с БД WordPress
@wp_database_mastery_ww
Оптимизация индексов в WordPress: где ускорение, а где лишняя нагрузка
Этот пост опубликован в Telegram-канале Работа с БД WordPress. Подписаться можно по ссылке: @wp_database_mastery_ww.