Jeśli relacja, którą opisujesz, jest symetryczna, na przykład „Bob jest przyjacielem Joe” oznacza „Joe jest także przyjacielem Boba”, możesz upewnić się w swoim kodzie, że mniejszy z dwóch identyfikatorów użytkownika zostanie umieszczony w pierwsza kolumna, a większa idzie na drugą kolumnę. To ograniczenie w dużej mierze zapewnia, że rekordy w tabeli przeglądowej będą unikatowe. Oznacza to również, że podczas wyszukiwania zwykle musisz przeszukiwać obie kolumny.
Na przykład, jeśli chcesz zdobyć wszystkich znajomych Boba, musisz zapytać o rekordy, które mają identyfikator Boba w dowolnej kolumnie. Prowadzi to do nieco większej ilości kodu i prawdopodobnie wpływa na wydajność.
Jeśli związek może być asymetryczny, ponieważ „Bob jest przyjacielem Joe” niekoniecznie oznacza „Joe jest także przyjacielem Boba”, wtedy potrzebne są 2 wpisy dla każdej pary użytkowników:Bob – Joe i Joe – Bob. Oznacza to, że Twoja tabela będzie zawierać dwa razy więcej wpisów, a także, że Twoja witryna jest bardzo przyjazna prześladowcom :D Oczywiście nadal możesz zastosować ten system, nawet jeśli Twoja relacja jest symetryczna.
Używając tej metody, jeśli chcesz uzyskać wszystkich znajomych Boba, wystarczy wybrać rekordy z identyfikatorem Boba w pierwszej kolumnie. Możliwe, że może to oznaczać szybsze wyszukiwanie i mniej kodu do napisania, ale znowu oznacza to, że zajmujesz więcej miejsca w bazie danych.