Поддержка Проблемы и решения Медленная работа сортировки по произвольному полю

  • Здравствуйте

    Столкнулся с такой проблемой — организовываю сортировку постов по произвольному полю (кол-во просмотров):

    <?php global $query_string;
    query_posts($query_string."&meta_key=_post_views_count&orderby=meta_value_num&posts_per_page=64");
    ?>

    Работает, но время генерации страницы увеличивается в 2-3 раза по сравнению с дефолтной выдачей.

    Помогите решить

Просмотр 2 ответов — с 1 по 2 (всего 2)
  • Поле meta_value таблицы wp_postmeta в базе данных MySQL не имеет индекса из-за его типа LONGTEXT. Но даже если бы был индекс, пользы от него было бы мало, поскольку запросы с meta_query используют MySQL функцию CAST для перевода типа данных при поиске, а присутствие подобной функции в запросе значит, что индекс использован не будет.

    Источник https://wpmag.ru/2014/rabota-s-proizvolnyimi-polyami-v-wp_query/

    Там же возможные пути решения и другие полезные мысли.

    Спасибо за ссылку. Чту

Просмотр 2 ответов — с 1 по 2 (всего 2)
  • Тема «Медленная работа сортировки по произвольному полю» закрыта для новых ответов.