Im, развивающийся под Symfony и Doctrine 2, и хотел бы получить ваши рекомендации относительно того, как структурировать мою базу данных (mysql) для своего рода платформы социальной сети для обмена информацией (статьями). Имея в виду большое и увеличивающееся количество статей, препятствием является то, что: - автор может делиться этой статьей со многими конкретными пользователями из своего списка участников
- Любой получатель может также решить передать статью конкретным пользователям из своего собственного списка участников. Выбор участника для автора или получателя может отличаться для каждой статьи (целевой зависит от ее возможного интереса к статье)
Таблицы A/Article и User, связанные со многими из многих отношений, я в первую очередь рассматривал эту архитектуру, но количество строк могло быть довольно огромным. Учитывая, что пользователь может иметь 1000 подключений (членов), количество строк только для одной статьи может достигать миллиона строк, если некоторые из его членов решают передать статью другим....
B/Article столбец longtext в качестве отношения Im, который затем задумал заполнить базу данных статьи текстовым столбцом, который я бы заполнил идентификатором пользователя приемников... но снова этот столбец мог получить миллион идентификаторов.... Когда пользователь подключится, мне придется запросить Select * Where UserIn В столбце longtext Column....
Может ли решение B быть подходящим? Как бы вы справились с таким делом?
Если вы правильно поняли, у вас есть таблица статей и таблица пользователей. Вы хотите связать статьи с пользователями.
Проще всего связать их со ссылкой:
TABLE 'Link' (
'Article' ,
'User'
)
Это то, что вы предложили. Нет более эффективного метода.