X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

3 страниц V   1 2 3 >
Открыть тему
Тема закрыта
> Вопрос по БД
scanread
scanread
Topic Starter сообщение 29.8.2011, 14:41; Ответить: scanread
Сообщение #1


Приветствую!

В общем, есть некие категории, к примеру, новости, музыка, фильмы, игры.

Как лучше:

1. Создавать для новостей, музыки, фильмы, игр отдельно каждую таблицу в бд, к примеру, prefix_news, prefix_music, prefix_films, prefix_games и для каждой из их таблицу категорий/подкатегорий prefix_news_categories, prefix_music_categories и т.д.?

2. Или же, все вписывать в одну таблицу: новости, музыку, фильмы, игры, в prefix_content, и для этой таблицу еще таблицу категорий/подкатегорий prefix_content_categories?

Какой вариант оптимальней и будет более разумным?


--------------------
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Forpain
Forpain
сообщение 29.8.2011, 14:50; Ответить: Forpain
Сообщение #2


Какой объем контента ожидается в плане нагрузки на бд?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
scanread
scanread
Topic Starter сообщение 29.8.2011, 14:52; Ответить: scanread
Сообщение #3


Forpain, не для стат. сайта, для типу как бы новостника smile.gif какой объем - трудно сказать. Поначалу - не много, а потом больше и больше smile.gif Какова нагрузка будет - я без понятия, с БД работаю так, поверхностно.. smile.gif


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
CyberTech
CyberTech
сообщение 29.8.2011, 14:55; Ответить: CyberTech
Сообщение #4


При каждом из вариантов потом иначе будет сформирован движок. Про вариант где отдельно для каждой категории таблица, то скорее всего придется создавать под каждую категорию отдельный файл вывода. Плюс в одной таблице в том что можно задать один файл для вывода (ярый пример этому ДЛЕ), но такой вариант более замороченный. если познаний в программинге недостаточно, то лучше первый вариант делать.

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

Сообщение отредактировал CyberTech - 29.8.2011, 14:56
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
scanread
scanread
Topic Starter сообщение 29.8.2011, 15:00; Ответить: scanread
Сообщение #5


CyberTech, дело в том, что пока реализован 2 вариант, контент в одну таблицу, категории для контента - в другую. Как определить нагрузку - я хз, грузится сайт пока резко, а как будет дальше - без понятия.

Так вот, я и думаю, что лучше будет так и оставить, или же разбивать... вот в чем вопрос.


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Mudriy
Mudriy
сообщение 29.8.2011, 15:02; Ответить: Mudriy
Сообщение #6


однозначно второй. главное правильно настроить индексы в таблицах
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
CyberTech
CyberTech
сообщение 29.8.2011, 15:10; Ответить: CyberTech
Сообщение #7


Mudriy, тут не только в индексах дело. Даже если правильно настроить при хорошей посещалке все равно может все тупить. Потребуется кэширование данных на самом сайте. если его нет или не могут сделать - лучше первый вариант тогда.

Вообще плюс первого варианта в том, что ты можешь под каждую категорию настроить свой вывод придумать свои поля и так далее. Когда все категории в одной таблице, то это сложнее делать. да и ни к чему например категории А поля от категории Б даже пустые.

Но если движок уже создан под одну таблицу то хз.. проще с нуля писать под многотабличность, чем переделывать. Так как делов будет очень много.

Сообщение отредактировал CyberTech - 29.8.2011, 15:11
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
FlashBlack
FlashBlack
сообщение 29.8.2011, 15:11; Ответить: FlashBlack
Сообщение #8


Рано думать с такими задачами про нагрузки.

моё предложение:

categories - хранит списки категорий (поля: id, name)
contents - хранит данные (поля: id, name, content, ....)
content_categories - хранит связи many to many (поля: id, content_id, category_id)

Что б получить список всех категорий контента:
SELECT `categories`.`name` FROM `categories`
WHERE `categories`.`id` IN (SELECT `category_id` FROM `content_categories` WHERE `content_id` = '_АЙДИ_КОНТЕНТА_')


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
CyberTech
CyberTech
сообщение 29.8.2011, 15:18; Ответить: CyberTech
Сообщение #9


(FlashBlack @ 29.8.2011, 18:11) *
content_categories


а это зачем? ) Что за мэни ту мэни ))

scanread, в общем сколько проггеров столько будет мнений по этому поводу )) Скажу от себя еще: если движок сделан так а не иначе пусть так и остается. особенно если делал его кто-то а не ты сам. переделывание однотабличной системы в многотабличную - сулит серьезные изменения движка.

Сообщение отредактировал CyberTech - 29.8.2011, 15:20
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
scanread
scanread
Topic Starter сообщение 29.8.2011, 15:22; Ответить: scanread
Сообщение #10


CyberTech,
(CyberTech @ 29.8.2011, 14:10) *
Но если движок уже создан под одну таблицу то хз.. проще с нуля писать под многотабличность, чем переделывать. Так как делов будет очень много.


Та не проблема склонировать и сделать как вариант 1. Переписывать мало что надо, сделано все модулями, скопировал, поменял название, и делов + сделать в неких файлах нужно будет замену, к примеру, с news на films, так же и в бд, добавить те же таблицы, только с другим названием. Это вовсе не трабла.

Кеширование присутствует, только пока для всего, кроме прикрепленных изображений к новостям. Это в процессе пока, и с этим траблов не должно быть.

FlashBlack, с радостью бы, только в этом варианте прийдется все перепиливать.... А это - не мало времени.

Сообщение отредактировал scanread - 29.8.2011, 15:24


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
3 страниц V   1 2 3 >
Открыть тему
Тема закрыта
4 чел. читают эту тему (гостей: 4, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Вопрос - платное размещение баннеров на сайте
10 WGN 3191 14.12.2020, 14:20
автор: Peterson
Открытая тема (нет новых ответов) Вопрос по рекламе в "инстаграме"
Только активные аккаунты могут создавать или редактировать рекламу
8 Zubkov 16056 17.1.2020, 17:49
автор: Forumacc
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыВопрос-ответ о работе форума
307 dos1k 43336 9.11.2019, 17:59
автор: heks
Открытая тема (нет новых ответов) Жена логопед, собрался ей приводить клиентов. Встал вопрос, куда приводить.
В теме перечисление доступного мне продвижения, но с чего начать?
9 memeplex 3730 16.2.2019, 15:45
автор: zyzy
Открытая тема (нет новых ответов) Предлагаю размещение качественных ссылок на форумах и сервисах вопрос ответ
21 ПроФФи 5030 2.3.2018, 20:56
автор: ShowPrint


 



RSS Текстовая версия Сейчас: 25.4.2024, 4:55
Дизайн