У меня есть вопрос об отношениях между двумя таблицами.
Допустим, у нас есть таблица пользователей и ссылки.
users
+++++++++
id name
1 name1
2 name2
3 name3
+++++++++
links
+++++++++
id link
1 link1
2 link1
3 link1
+++++++++
Теперь нормальный способ связать эти два с таблицей name_links.
Например:
name_links
++++++++++++
uid lid
1 1
1 3
2 3
2 1
2 2
3 2
++++++++++++
Теперь мне стало интересно, будет ли хорошей идеей сделать такой стол
name_links
++++++++++++
uid lid
1 1,3
2 1,2,3
3 2
++++++++++++
Плюсы и минусы, о которых я могу думать:
pros1:
Вы всегда будете искать по индексам, быстрее запросов
Например, выберите где UID = 1, а затем выберите ссылки 1,3. Оба являются индексами, поэтому это будет быстрая загрузка.
Если у вас 1000 пользователей, и у каждого из них есть 20 ссылок, это означает, что вам нужно пройти 20 000 записей, чтобы получить все ссылки (я думаю, не уверен в этом). Используя этот метод, вы берете только один индекс, и все готово.
cons1:
Вам придется чаще обновлять таблицу name_links, читать, редактировать и писать
пример пользователя 2 удаляет ссылку2 метод будет:
+ получить строку пользователя 1
+ убрать номер из строки
+ вставить новую строку
Здесь все сделано для индекса, поэтому я предполагаю, что это будет быстро.
cons2:
Еще один минус - когда вы удаляете ссылку 2, вам нужно пройти через все строки, но допустим, что это не такая большая проблема, так как это случается не часто.
Это то, что я могу придумать до сих пор, и я нахожусь в точке моего проекта, где я должен решить, куда идти.
Я хотел бы получить совет, какой метод выбрать. У меня есть свои плюсы и минусы, верно? Есть вещи, которые я не принимаю во внимание. Любая помощь по этой теме будет высоко оценена.
Спасибо, ребята!