我正在开发一个Web应用程序,在实施数据库之前我需要做一些研究。我希望在开始编写代码之前,您可以帮助我做出一些很好的决定。数据库设计 - 在数据库中选择商店
今天,我有一个除其他外包含表约两百万联系人数据库
联系人: CID,姓名,电话,地址等...
的应用程序的用户可以根据不同的标准搜索联系人表格,并获取联系人列表。
用户存储我一个单独的数据库表
用户: UID,姓名,电子邮件等..
现在我希望让用户能够在搜索结果存储为一个选择。选择必须是表示用户获得的搜索结果中每个联系人的cid列表。当选择被存储时,用户可以打开选择,并将注释,状态等添加到选择中的不同联系人。
我首先想到的是做一个选择表与选择接触映射表是这样的:
选择: SID,名称,描述,UID等
SelectionContactMap: SID, cid,状态,备注等...
由于平均选择大小在1 000到100 000之间的联系人以及数千个存储许多选择的用户,我发现SelectionContactMap表格将会非常快速地增长很大。
数据库是MySql,应用程序是用PHP编写的。我的预算有限,所以我不能在任务上抛出无限的硬件。
我是我在错误的方式在这里?
你有什么建议可以解决这个问题吗?
- 其他数据库?
- MySql的具体建议,表格类型等?
- 其他数据库设计?
- 任何意见和建议表示赞赏。提前:)
感谢
- 托尔英格
您需要多久更新一次用户选定的联系人?这种情况是否会每天发生,以便用户更新他的选择或者每个月有一次任务?你多长时间一次加载这些数据?每个用户每天10次或每周一次? – Mahdi
用户每天都会根据自己的选择进行工作。更改状态并向选择中的联系人添加备注。 –