Wp_postmeta — расширенный функционал
На сайте в постмета пишутся данные:
1 просмотры
2 оценки общая и средняя
3 активности пользователей
4 статистика статьи ( размер вложений и размер статьи, количество вложений)
5 и ещё пару мелочей
Все эти данные в 95% статичны либо обновляются 1-15 раз в год. Динамические буду продолжать писать отдельно.
После 10 000 записей - таблица начала порядком подрастать.
Возник интерес и вопрос - будет ли оптимизирован размер таблица бд если я вместо того что создавать новые записи в постмета - добавлю туда дополнительных колонок, чтоб постмета стала подобна wp_post? Также задумался, что часть этих данных можно писать в wp_post в новую добавленную колонку.
Стоит ли заморачиваться, или это безумная/сумашедшая затея.
Могу предложить: писать данные в отдельную таблицу.
Дополнительные колонки не делать.
Или вы эти данные выводите в записи?
Также могу предложить вариант хранить данные в wp_posts в колонке post_excerpt в виде сериализованого массива.
Я такое практиковал. Это при условие, что вы ее не используете в своем шаблоне.
1 Отдельную таблицу не вариант - wp_postmeta является частью движка и легко поддается контролю и связку с постами - если вдруг где-то чего-то удалил, постмета также потянется. Новую таблицу придется подвязывать через новый функционал.
По этому и хочу в уже имеющуюся постмета вносить изменения
2 сериализованый массив - не очень люблю - иногда нужно делать выборки\сравнения по базе данных. Сериализованый массив для текста или 100% статики пойдет.
Вопрос пока что просто на будущее для себя - таблица растет - вероятно будут появляться новые мета поля как - лайк - количество проголосовавших - количество тех кто хотел бы посмотреть в будущем, уверен для постов будут ещё данные для которых не нужны будут таксономии.
Смериться и жить с wp_postmeta
можно конечно добавить кастом колонки к wp_posts, но не непонятно - что вы выиграете.
величина ID уже достигла 7 цифр - а для каждого поста постмета занимает от 8 до 20 айдишек - я понимаю что это не много по меркам диска - но как-то в базе данных уже подразрослось
вот и спрашиваю, может быть если ещё сильнее начнет расти, тогда 100% займусь добавлением новых колонок - видел ACF через массив работает - наверное они тоже придерживаются мнения что есть поля для которых создавать отдельную строку с данными нет смысла.
в постмета получается порядка 20-40 повторяющихся ячеек - для каждого поста - данные из которых можно разместить в дополнительных колонках.
в принципе экономия в 3мб на 10000 записей не так уж велика. А там уж посмотрю