2011-02-03 3 views
0

Я собирался построить систему деятельности, основанную на одном из сообщений пользователя от How to implement the activity stream in a social network, и мне было интересно, следует ли мне отправлять комментарии на отдельную таблицу или я должен хранить ее в одной таблице. Ответ btw такой же, как и ответ на любую активность на facebook, и он отображается прямо под ним. поэтому я думаю, что если я сохраню его отдельно, тогда запрос будет медленно загружаться, нет?Замечания о деятельности должны быть в новой таблице или должны быть в одной таблице?

+0

Никогда не думайте о производительности при разработке баз данных. это будет редко когда-либо проблемой. базы данных оптимизированы для этого. если появляется проблема с производительностью, есть другие способы, а затем разрушить конструкцию db, чтобы исправить ее. – Christian

ответ

0

Я думаю, что комментарии должны входить в отдельную таблицу. может быть несколько комментариев для одного действия, поэтому вам нужно отношение 1 < -> * к этой таблице комментариев. если вы используете одну и ту же таблицу для действий и комментариев, должно быть возможно прикрепить родительский элемент к этой таблице. parent = activity, children = comments.

+0

ну на активность потокового вы не можете действительно нормализации базы данных. если вы посмотрите на примеры ссылки, которую я разместил. они сокращают взаимосвязь между таблицами, из-за проблем с производительностью, поэтому имейте в виду, что это происходит во второй раз, когда я на самом деле строю фиды, поэтому на этот раз нужно сделать это правильно – Basit

+0

построить его так же легко и логично, как и возможное. постройте его также модульным. когда у вас есть фактические данные или соответствующие тесты, вы видите, если они работают достаточно хорошо. если нет, вы все равно можете заменить эту часть или добавить кэш, индекс памяти или что-то еще. если ваш дизайн оптимизирован для скорости с самого начала, его будет намного сложнее изменить. – Christian

Смежные вопросы