到目前为止,我所配置的只是一个用户表,其中每个用户都有一个唯一的user_id
. 但是,我需要为每个用户存储一个联系人列表。这只需要包含每个联系人的 user_id。但是,我面临着设计挑战。
我应该为每个用户创建一个表来存储该用户的联系人列表吗?这是一个可扩展的解决方案吗?
或者我应该创建一个包含两列的表,user_id
并且contact_id
看起来像这样:
---------------------------------- | user_id (INT) | contact_id (INT) | ---------------------------------- | 10001 | 9945 | | 10001 | 第2239章 | 10002 | 9636 | ----------------------------------
恐怕如果我选择第二个选项,SELECT * FROM contacts WHERE user_id=10001;
由于每次都需要迭代每个条目,因此缺少唯一索引和表的绝对大小最终会造成平衡。
组织这些数据的最佳方式是什么?