Стол друзей для сайта социальной сети - PullRequest
0 голосов
/ 31 октября 2010

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

У меня есть пользовательская таблица, где user_id является основным полем.

Так что для друзей я создал таблицу друзей с полями типа

friend1 friend2 is_active

что я делаю на самом деле, когда user1 отправляет запрос на добавление в друзья user2, тогда в этот момент я вставляю две строки в таблицу друзей, как

1- friend1->user1,friend2->user2,inactive
2- friend1->user2,friend2->user1,inactive

Поэтому, когда кто-то в этот момент принял запрос о дружбе, я сделал обе строки активными.

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

И если пользователь удаляет пользователя, тогда я удаляю обе записи.

Так что, пожалуйста, мне нужно предложение по этому вопросу, пожалуйста, помогите мне решить эту проблему как можно скорее.

Мне нужно знать, есть ли другой способ, который будет более оптимизирован, чем этот, и даст правильный результат.

1 Ответ

1 голос
/ 31 октября 2010

Я думаю, что Friends_table с

User_id1, User_id2 и Rleationship_id

проще, индексировать как по первому, так и по второму столбцу. ID отношения будет 1 - запрос id1, 2 - запрос id2, 3 - друзья, 4 - блокировка id1, 5 - блокировка id2 ...

просто идея.

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