Получаю записи по параметру метаполя следующим кодом
$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. Кешируются ли эти данные или каждый раз получаются заново?
Спасибо