Увеличение скорости выборки пользователей в BuddyPress 2.0

Параметр last_activity в BuddyPress используется очень интенсивно: для сортировок, при отображении даты последней активности пользователя, для определения  валидности пользователя как участника сайта. В это же время данное поле является и узким горлышком в производительности, так как оно хранится в таблице wp_usermeta. А как известно, эта таблица весьма сильно раздувается на больших сайтах.

Кстати, кто-то может мне показать большую социальную сеть на WordPress + BuddyPress на просторах СНГ? Просто интересно, есть ли такие. Пока что сталкиваться не приходилось.

Исправление этой проблемы с производительностью sql запросов будет в новой версии BuddyPress 2.0 – поле last_activity перенесли в таблицу wp_bp_activity. Разработчики предусмотрели тот факт, что не на всех сайтах в принципе может быть активирован компонент Ленты активности, так что эта таблица при любом состоянии компонентов будет доступна для хранения данных.

Для разработчиков: используйте теперь bp_update_user_last_activity() для хранения данных. Документация в кодексе (скоро будет) или в исходном коде BuddyPress. Если же вы делаете прямые запросы в базу данных с использованием этого поле – посмотрите в сторону класса BP_User_Query, который является абстракцией для работы с такими данными в независимости от места фактического расположения полей.

PS Напоминаю, 26 марта должна быть первая бета BuddyPress 2.0 :)

комментария 3

  1. Коллеги, хочу внедрить БаддиПресс на один их сайтов, подскажите, пожалуйста, есть ли живые порталы с данным плагином с большой аудиторией? Скиньте, пожалуйста, несколько урлов сайтов.
    Спасибо!

  1. 17.04.2014

    […] прочего были сделаны (о которых я частично [1] уже [2] писал [3], или не успел). С полным списком вы можете […]

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *