[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Комментарии к теме
ak167
Как я уже говорил, я пишу свой первый движок для блогов. И вот при создании записи в БД возник следующий вопрос. Куда записывать комментарии к теме в блоге? Предположим пользователь создал тему в своем блоге, она записалась в MySQL-базу "blog" в таблице "tema". По идее можно было бы сделать еще одну таблицу "comments" и в ней в одной из полей указывать id темы а потом с помощью запроса SELECT comments FROM blog WHERE id_комментария=id_темы, т.е. найти все комментарии в таблице "comments" в которых в специальной ячейке записан id той темы, к которой они принадлежат. Но сами понимаете, что когда будет миллионы тем, то это будет делаться очень долго и с большими нагрузками.

Поэтому вопрос: а можно ли создать в MySQL отвлетвление от таблицы "tema", т.е. сделать как бы подтаблицу и записывать в неё комментарии? Выглядеть это должно так:
создаем тему и записываем ее так blogs->tema
комментарии к ней записываем в таблицу blogs->tema->comments



Спустя 1 час, 10 минут, 58 секунд (4.04.2010 - 13:24) vagrand написал(а):
Это вы что-то себе нафонтазировали. Когда у вас будет милион тем, то вам полюбому нужен будет выделеный сервер а то и не один и 100% будете юзать кеш

Спустя 5 минут, 25 секунд (4.04.2010 - 13:29) ak167 написал(а):
vagrand, это я для саморазвития))) Хочу научиться писать скрипты, которые будут выдерживать миллионы пользователей.

Так можно ли делать в MySQL древовидную структуру?

Спустя 3 минуты, 53 секунды (4.04.2010 - 13:33) krasilich написал(а):
Вы очень недооцениваете MySQL.
MySQL будет тормозить если скидать все в одну таблицу без индексов и выбирать одну строку десятью запросами.

Спустя 1 минута, 30 секунд (4.04.2010 - 13:35) krasilich написал(а):

Спустя 29 минут, 25 секунд (4.04.2010 - 14:04) ak167 написал(а):
krasilich, спасибо!

Скажите, пожалуйста, а в профессиональных движках как записываются комментарии к теме? Тоже с помощью дерева в MySQl или как-то подругому?

Спустя 51 минута, 45 секунд (4.04.2010 - 14:56) krasilich написал(а):
ak167

Лучше тебе не знать как это делаеть в профессиональных движках, спокойней спать будешь=))

Вообще деревом удобно записывать многоуровневые комментари или списки категорий с произвольной вложеностью.

Как лучше всего сделать в блоге?

Есть одна таблица с темами. Другая таблица с комментами, для каждого коммента помимо собственного id указывать id темы к которой он относиться. И джоином получать данные. Вот и все.

И не стоить бояться миллиона записей в таблице. MySQL сильный и не такое выдерживает=) К тому же можно правильно расставить индексы, и будет вообще шикарно.

Спустя 29 минут, 43 секунды (4.04.2010 - 15:26) ak167 написал(а):
Цитата
Есть одна таблица с темами. Другая таблица с комментами, для каждого коммента помимо собственного id указывать id темы к которой он относиться.
И не стоить бояться миллиона записей в таблице. MySQL сильный и не такое выдерживает=)


krasilich, у меня была такая мысля, но я думал, что MySQL это не потянет, когда будет много пользователей.

Цитата
И джоином получать данные.

krasilich, извиняюсь за глупый вопрос, но что такое джойн?

Спустя 1 час, 11 минут, 32 секунды (4.04.2010 - 16:37) vagrand написал(а):
ak167

ИМХО сделай две таблицы, расставь нормально индексы и не парься. Не будет у тебя миллиона записей.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.