Дружеские отношения в социальной сети - PullRequest
2 голосов
/ 04 декабря 2010

Я думаю, что вместо ведения одной таблицы friendRelations, содержащей список отношений всех пользователей в моей сети, было бы лучше создать отдельную таблицу Relations для каждого пользователя в сети, которая содержит ID профиля всех людей и групп, выбранных пользователем.следить.Таким образом, восстановление будет гораздо быстрее ... любые предложения будут с благодарностью ... !!

Ответы [ 3 ]

5 голосов
/ 04 декабря 2010

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

0 голосов
/ 04 декабря 2010

Это похоже на радикальное дизайнерское решение по устранению проблемы, которая, вероятно, не будет существовать. Зная очень мало о том, как ваша база данных построена и доступна, невозможно сказать, является ли это плохим решением (вероятно) или ваши бизнес-требования уникальны, и это решение (маловероятно). Я бы порекомендовал определить необходимый вам уровень нормализации и не пытаться устранять проблемы с производительностью, которые еще не существуют.

Должен ли я нормализовать свою БД или нет?

0 голосов
/ 04 декабря 2010

Если у вас есть проблемы с производительностью запросов к базе данных для получения информации, я настоятельно рекомендую вам использовать базу данных Vertica, которая невероятно быстра.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...