我正在尝试将各种联系活动记录到“活动”集合中。电子邮件活动将使用电子邮件地址进行查找/更新(不知道contactId),但是非电子邮件活动将只能依靠contactId作为键(因为该数据中不一定有电子邮件可用)。
通勤简化了数据库设计,但是不值得在性能上大打折扣,因为可伸缩性也是一个问题。
[与以下类似问题进行比较以进行澄清:Mongodb: multiple collections or one big collection w/ index
具体来说,我正在尝试比较对一个集合运行2个查询(每次针对一个活动类型,每次基于不同的键)对性能的影响,而对2个不同的集合运行相同的2个查询的性能影响。而不是一般的数据建模问题,我有兴趣了解当数据库引擎由于缺少关键字而不得不忽略大部分查询数据时,查询性能是否会受到显着影响。
您的想法受到赞赏!
答案 0 :(得分:0)
上面的评论中提到了一些不错的考虑因素...并且从安全角度出发,选择单独的集合,因为从DBA的角度来看,这样做更容易索引和管理。