Модератор
Юрій
(@yube)
В мануалах пишут, что в основные таблицы не нужно записывать данные кастомных типов данных.
В каких? И что Вы называете «данные кастомных типов данных»?
В таблицу posts пишутся все типы записей («записи» — это термин, в отличие от «данных»), включая кастомные (custom post type).
В postmeta пишутся неосновные атрибуты записей. Структура таблицы такова, что позволяет с легкостью, без изменения структуры таблицы, добавлять новые ключи и удалять ненужные.
Работают ли мета-таблицы так же, как и пользовательские таблицы?
Вопрос лишенный смысла. С одной точки зрения, все таблицы в mysql работают одинаково, с другой — работа зависит от engine, с третьей — в mysql все таблицы пользовательские, кроме таблиц в базе по имени mysql. Впрочем, в каком-то смысле они тоже пользовательские.
И что Вы называете «данные кастомных типов данных»?
Я и имел ввиду не основные данные, не правильно выразился, те, которые записываются с помощью плагинов вроде Advanced Custom Fields. То что кастомные типы данных записываются в posts я знаю. Просто хотел узнать, насколько часто на практике программисты создают собственные таблицы в альтернативу мета-таблицам?
Модератор
Юрій
(@yube)
насколько часто на практике программисты создают собственные таблицы в альтернативу мета-таблицам?
Трудно сказать. Снаружи этого не видно, а для публичности не хватает универсальности таких решений. Но не думаю, что часто. Уж слишком заморочисто получается, а пипл нынче ленивый пошел, клаве предпочитает мышь 🙂
Хотя на высоконагруженных сайтах «горизонтальное» хранение атрибутов (я думаю, Вы его имеете в виду) дает очень заметный выигрыш. А еще больший выигрыш дает отказ от WP в пользу кастомного движка, заточенного под одну конкретную задачу.
Все зависит от задачи
Могут быть данные которые не относятся к постам и правильней хранить их в отдельной таблице
По сути тот же принцип плагинов, они создают таблицы для своих данные, после деактивации таблицы удаляются.