Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Оптимальная организация базы данных форума

Сообщения:  [1-8] 

 
 автор: Trianon   (16.12.2007 в 20:38)   письмо автору
 
   для: cheops   (16.12.2007 в 19:01)
 

Добавить cat_id в таблицу постов - значит денормализовать базу. В принципе - можно.
На практике лучше не делать без достаточного опыта разработки схем БД.

И тогда придется создавать составные индексы с первым полем cat_id, иначе какой смысл вносить это поле?

   
 
 автор: Trianon   (16.12.2007 в 20:35)   письмо автору
 
   для: quiosque   (16.12.2007 в 15:15)
 

>В таблице тем создам три индекса для каждой категории вида index(cat_id, theme_id, title).
Тут нужен один индекс вида (cat_id, theme_id), два простых (theme_id ) и (title)
и возможно один индекс вида (cat_id, title)

   
 
 автор: cheops   (16.12.2007 в 19:01)   письмо автору
 
   для: quiosque   (16.12.2007 в 15:15)
 

Я бы ещё в таблицу постов добавил бы cat_id - удобнее будет работать. Да, индексы увеличивают размер базы данных, однако увеличивают скорость поиска по ней - по сути вы размениваете ими место на жёстком диске на дополнительную производительность.

   
 
 автор: quiosque   (16.12.2007 в 15:16)   письмо автору
 
   для: Trianon   (16.12.2007 в 13:04)
 

спасибо!

   
 
 автор: quiosque   (16.12.2007 в 15:15)   письмо автору
 
   для: cheops   (16.12.2007 в 13:25)
 

К примеру, создам три таблицы: категории, темы, посты. В таблице тем создам три индекса для каждой категории вида index(cat_id, theme_id, title). В таблице постов: index(theme_id, post_id). Будет ли этого достаточно? Насколько я понимаю, индексы влияют на размер БД. Хотелось бы максимально эффективно использовать место и не утяжелить базу.

   
 
 автор: cheops   (16.12.2007 в 13:25)   письмо автору
 
   для: quiosque   (16.12.2007 в 10:41)
 

Обычно для постов и тем создают лишь две таблицы, а под категории выделяют ещё одну таблицу.

>Помогут ли в данном случае индексы (к слову, мало чего в них понимаю, буду благодарна
>советам)?
В чём помочь?

   
 
 автор: Trianon   (16.12.2007 в 13:04)   письмо автору
 
   для: quiosque   (16.12.2007 в 10:41)
 

Имеет. Только из трех. Еще добавится таблица категорий (из трех строк).
Индексы "помогают" всегда.
Простые индексы расставляются на столбики, по которым осуществляется поиск и сортировака записей при запросах. В первую очередь - на первичные и чужие ключи (пример: чужой ключ (номер_темы) в таблице ответов, первичный ключ в таблице тем - само собой). На поле даты-времени.

Чтобы ускорить работу с совмещенным таблицами, можно также создать в таблице тем создать составной индекс темы_категорий(номер_категории,id)

   
 
 автор: quiosque   (16.12.2007 в 10:41)   письмо автору
 
 

Ребята, подскажите, пожалуйста, оптимальную структуру для БД форума.

Форум существует уже довольно давно. В нем есть три категории, под каждую категорию заведено по две таблицы: одна с темами, другая с постами. Итого, имеем 6 таблиц. Использование этих таблиц неравномерное. Чаще всего пользуется третья категория. К примеру, соотношение размера таблиц ответов для первых двух категорий и третей категории: 1М к 18М. Разница существенная.

Планируется все эти таблицы сделать архивом, а под новый форум сделать новую структуру. Имеет ли смысл, при таком неравномерном использовании категорий, делать структуру из двух таблиц: таблица тем для всех категорий и таблица ответов для всех категорий? Помогут ли в данном случае индексы (к слову, мало чего в них понимаю, буду благодарна советам)?

   

Сообщения:  [1-8] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования