TTA
@TTA
Мутировавший технарь :)

Wp_query и жадная загрузка. Как сделать?

Салют! Делаю страницу на которой интенсивно используются список постов и всякие выборки по таксономиям и кастомным полям. Куча запросов к базе. Получается долго. Можно как то вытащить все данные за один запрос и потом просто делать выборки по массиву в памяти? Насколько я знаю это называется жадная загрузка.
  • Вопрос задан
  • 184 просмотра
Пригласить эксперта
Ответы на вопрос 1
HeadOnFire
@HeadOnFire
PHP, Laravel & WordPress Evangelist
1. Используйте object cache по максимуму. WP_Query делает все максимально правильно, насколько это возможно в архитектуре WP, и способен жестко все кешировать, давая как раз ожидаемый вами эффект. Дайте ему такую возможность.

2. Пишите кастомные запросы через $wpdb. Запросы будут сложными, с кучей джоинов и тд. И далеко не факт, что получится "за один запрос". При это дальнейшее кеширование остается на вас, придется дописывать прослойку. Сомнительная выгода.

3. Используйте внешний сервис типа ElasticSearch для индексации контента и сложных выборок, жрущих много ресурсов. На выходе получите ID постов, по которым сможете быстро получить нужные посты с минимальными затратами ресурсов. Минус - это внешний сервис. Выход - ставить его на том же сервере и общаться внутренне, кешировать запросы.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы