我正在开发一个Web应用程序,在实现数据库之前我需要做一些研究。我希望你能在我开始编码之前帮助我做出一些好的决定。
今天我有一个数据库,其中包含一个表中的大约两百万个联系人
与 cid,姓名,电话,地址等......
应用程序的用户可以根据不同的标准搜索联系人表,并获取联系人列表。
用户存储在一个单独的数据库表中
用户: uid,姓名,电子邮件等......
现在我想让用户能够将搜索结果存储为选择。选择必须是表示用户获得的搜索结果中的每个联系人的cid列表。存储选择后,用户可以打开选择并向选择中的不同联系人添加注释,状态等。
我的第一个想法是制作一个选择表和一个选择 - 联系人映射表,如下所示:
选择: sid,名称,说明,uid等
SelectionContactMap: sid,cid,status,note等...
平均选择大小在1 000到10万个联系人之间,并且有数千名用户存储了许多选项,我看到SelectionContactMap表将非常快地增长。
数据库是MySql,应用程序是用PHP编写的。我的预算有限,所以我无法在任务上投入无限的硬件。
我在这里走错了路?
您有什么建议以最好的方式解决这个问题吗?
提前致谢:)
- Tor Inge
答案 0 :(得分:0)
问题:如果查询结果发生变化会发生什么 - 例如:所选联系人不再具有所选属性或添加新联系人?
如果答案是“结果集应该更新” - 那么您希望将标准存储在数据库中,而不是结果本身。
如果您需要将结果缓存一段时间,应用程序可以更好地处理,而不是数据库。