5-столбца(одинаковых) во всех трех
По сути они будут одинаковы, различие только в том что в некоторых добавляются еще данные, т.е столбцы.
Вот ка правильнее сделать?
1) Оставить 3 таблицы, для каждого типа материала свою таблицу. А потом сортировать по типу материала
2) Сделать одну таблицу post соединить все столбцы и добавить в пост чекбокс с выбором из 3, и потом сортировать по чекбоксу?
Как лучше в плане производительности? Да и вообще с точки зрения "Правильности" .
Сразу простите за может не правильно поставленный вопрос и мои неточности. Спасибо.
Если конечно не затруднит :) я еще профан не много в базах, будет увесистая база 10-20 тысяч постов. Хотелось бы получить производительность, а не рвать волосы когда уже поздно)
post_news - обычные новости
post_photo - фотоновости
post_video - видеоновости
post_images - картинки ко всем типам постов что выше
post_news_options - доп опции для тех постов что выше (тут какие то доп поля, которые носят не основной характер)
post_category - категории
project - проекты
persons - персоны
settings - настройки сайта
bismoney: количество постов не "влияют" на быстроту выборки. Правильные типы полей и индексы будут приносить больше производительности.
Если посты имеют одну смысловую нагрузку, то и держать их логично в одной таблице, а не разводить кучу таблиц. В таблице использовать поле индикатор с типом поста.
В выборке делать запрос по типу поста и выводить нужные поля.
Приведу к примеру таблицу с товарами супермаркета, где куча разновидностей товара.
Таблица товаров будет одна, а вот характиристики будут уже связанны с другими таблицами. Это логично.
А вот заводить отдельную таблицу для каждого типа товара - не логично.
post - новости с полем type связанным с таблицей post_type по id
post_type - тип новости с 2 полями (id и name|type)
post_images - картинки ко всем типам постов что выше
post_news_options - доп опции для тех постов что выше (тут какие то доп поля, которые носят не основной характер)
post_category - категории
project - проекты
persons - персоны
settings - настройки сайта