Intereting Posts
register_activation_hook с включенным файлом Миниатюры мини-галереи 1px как изменить размер поля <textarea> в метабоке: высота ROWS и контроль прокрутки? Автоматическое добавление фильтра на идентификатор страницы Случайные сообщения генератора для отдельных пользовательских типов сообщений Измените основной запрос цикла для постраничного и мета-ключа Почему некоторые основные функции получают wp_, а другие – нет? Каково правило? Варианты продукта, показывающие не существующие варианты Запретить редактирование заголовка В post.php Woocommerce включает налог в целом для нескольких поставщиков Является ли автоматическое распознавание сообщений функцией WordPress? Как отключить его? Поле Post Excerpt отображается только для администратора по умолчанию Сообщения, которые не отображаются с пользовательской базой категорий и подкатегориями Установите WordPress Featured Image для всех сообщений. Совпадение имени файла изображения в указанном каталоге Список всех блогов, кроме текущего блога и основного блога в WordPress Multisite

Изменение таблицы wp_post и производительности / скорости post_meta

Я ищу наиболее эффективный способ связать сообщение с несколькими пользователями.

По умолчанию каждое сообщение в wp_post имеет столбец post_author , который связан с соответствующим идентификатором пользователя в wp_users .

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

  • custom_supervisor
  • custom_author
  • custom_editor

Сообщение создается супервизором, который затем назначил автора и редактора. Каждое сообщение должно быть назначено одному пользователю каждой роли, упомянутой выше.

Вариант A

Используйте супервизор как post_author и добавьте идентификаторы пользователя автора и редактора с помощью add_post_meta() с уникальными мета-ключами, такими как _custom_author и _custom_editor .

Это будет стандартный способ выполнения WordPress для выполнения WordPress.

Вариант B

wp_post таблицу wp_post , добавьте два столбца, такие как post_supervisor и post_editor и используйте post_author для пользовательской роли автора. Измените worpdress, чтобы добавить правильные значения при создании сообщения. Например, пользовательские обмены передают предопределенные значения для новых столбцов. Основная проблема с этим решением заключается в настройке резервного копирования и т. Д.

Вариант C

Создайте новую таблицу отношений «один к одному», чтобы связать надзорных органов, авторов и редакторов с вновь созданным идентификатором сообщения. Таблица содержит только информацию о сопоставлении, и каждый столбец индексируется для максимальной скорости. Функциональность плагина или темы должна реализовывать новые запросы.

проблема

Каждый пользователь каждой пользовательской роли будет запрашивать сообщения, назначенные ему … очень, очень часто. Используя «Option A», каждая пользовательская роль, за исключением супервизоров (назначенных post_author ), будет запрашивать таблицу post_meta для получения назначенных сообщений.

Если мое предположение верно, я столкнулся бы с серьезными проблемами производительности при использовании постоянного запроса таблицы post_meta для определенных значений (например, WHERE _custom_editor = 2 ), поскольку WordPress изначально не предназначен для этого. (Обычное поведение было бы запросом post_meta после получения одного или нескольких почтовых идентификаторов, а не наоборот). См .: Что такое эффективный способ запроса на основе post_meta?

Любые предложения по производительности, сравнение трех вариантов или дополнительных новых методов для максимальной эффективности и скорости?

Заранее большое спасибо.

Solutions Collecting From Web of "Изменение таблицы wp_post и производительности / скорости post_meta"