selftrips
@selftrips

Как оптимально выбирать максимальное значение метаполя?

Получаю записи по параметру метаполя следующим кодом

$args_my = array(
'post_status' => 'publish',
'post_type' => 'any',
'meta_key' => 'views',
'orderby' => 'meta_value_num',
'order' => 'desc',
'posts_per_page' => get_option('posts_per_page'),
'paged' => $paged
);
$the_query = new WP_Query( $args_my);?>


Но узнал что с метаполями wordpress очень медленно работает, так как у них нет индексов.
(запрос обычного , по датам списка записей
Нагрузка: 228 запросов за 9,724 сек., затрачено 84.56 mb памяти.
запрос по мета полю
Нагрузка: 480 запросов за 3,490 сек., затрачено 56.51 mb памяти)
1. Как правильно организовать работу с метполем? Вроде для него надо построить индекс? Как?
2. В чем может быть причина что стандартный запрос имеет в 2 раза меньше запросов но выполняется дольше?
3. Кешируются ли эти данные или каждый раз получаются заново?
Спасибо
  • Вопрос задан
  • 107 просмотров
Пригласить эксперта
Ответы на вопрос 1
HectorPrima
@HectorPrima
программист
Создайте свою таблицу с нужными вам индексами и работайте с ней.
Не вижу проблем.
Многие плагины которым актуальна скорость и т.д., так и поступают.
Ответ написан
Ваш ответ на вопрос

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

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