• Как реализовать хранение друзей в БД?

    difiso
    @difiso
    В параллельной вселенной я космонавт
    А что если хранить немного по другому?

    Например не создавать дублирующую запись в обратную сторону, а изначально использовать еще одно поле в троичной системе счисления: ± 1 когда один пользователь добавил другого (знак указывает направление заявки) и 0 когда заявка подтверждена.

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

    Из очевидных плюсов. Места занимать будет примерно в два раза меньше — мелочь, а приятно.
    Минусов не сразу не соображу.
    Ответ написан
    3 комментария