「ボブはジョーの友達です」は「ジョーはボブの友達でもあります」を意味するように、説明している関係が対称的である場合、2つのユーザーIDのうち小さい方が最初の列、および大きい方の列は2番目の列に配置されます。この制約により、ルックアップテーブルのレコードが一意になることがほぼ確実になります。また、ルックアップを実行するときは、通常、両方の列を検索する必要があることも意味します。
たとえば、ボブのすべての友達を取得しようとした場合、いずれかの列にボブのIDが含まれるレコードをクエリする必要があります。これにより、コードが少し増え、パフォーマンスに影響を与える可能性があります。
「ボブはジョーの友達です」のように関係が非対称である可能性がある場合、必ずしも「ジョーはボブの友達でもある」という意味ではありません。ユーザーのペアごとに2つのエントリが必要です。ボブ-ジョーとジョー-ボブです。これは、ルックアップテーブルに2倍のエントリが含まれ、サイトがストーカーフレンドリーであることを意味します:Dもちろん、関係が対称的であっても、このシステムを適用することを選択できます。
この方法を使用すると、ボブの友達全員を取得したい場合は、最初の列でボブのIDを持つレコードを選択するだけです。これは、検索が高速になり、作成するコードが少なくなることを意味する可能性がありますが、繰り返しになりますが、データベースでより多くのスペースを占有していることを意味します。