これまでに構成したのは、各ユーザーが一意の を持つユーザーのテーブルだけですuser_id
。ただし、各ユーザーの連絡先のリストを保存する必要があります。これには、各連絡先の user_id のみを含める必要があります。しかし、私は設計上の課題に直面しています。
ユーザーの連絡先リストを格納するテーブルをユーザーごとに作成する必要がありますか? これはスケーラブルなソリューションですか?
または、次のような2 つの列user_id
を持つ 1 つのテーブルを作成する必要があります。contact_id
------------------------------------ | | ユーザー ID (整数) | contact_id (整数) | ------------------------------------ | | 10001 | 9945 | | | 10001 | 2239 | | | 10002 | 9636 | ------------------------------------
SELECT * FROM contacts WHERE user_id=10001;
2 番目のオプションを使用した場合、すべてのエントリを毎回反復処理する必要があるため、一意のインデックスの欠如とテーブルの膨大なサイズが最終的にうまくいくのではないかと心配しています。
これらのデータを整理する最善の方法は何ですか?