首页 > 解决方案 > 将具有不同键的数据组合到一个集合中会影响查询性能吗?

问题描述

我正在尝试将各种联系活动记录到“活动”集合中。电子邮件活动将使用电子邮件地址查找/更新(contactId 未知),但非电子邮件活动将只能依赖于 contactId 作为键(因为电子邮件不一定在该数据中可用)。

混合简化了数据库设计,但不值得对性能造成任何重大影响,因为可伸缩性也是一个问题。

[与此处的类似问题相比,编辑以进行澄清:Mongodb:多个集合或一个带有索引的大集合

具体来说,我正在尝试比较针对单个集合运行 2 个查询(每个活动类型一个,每次基于不同的键)与针对 2 个不同集合运行相同的 2 个查询的性能影响。而不是一般的数据建模问题,我有兴趣了解当查询数据的很大一部分由于缺少密钥而必须被数据库引擎忽略时,查询性能是否会受到显着影响。

您的想法表示赞赏!

标签: mongodb

解决方案


上面的评论中提到了一些好的考虑......并且在安全方面犯了错误,因为从 DBA 的角度来看,这将更容易索引和管理。


推荐阅读