将具有不同键的数据合并到单个集合中是否会影响查询性能?



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

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

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

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

感谢您的想法!

上面评论中提到的一些很好的注意事项...并且通过使用单独的集合在安全方面犯了错误,因为从 DBA 的角度来看,这将更容易索引和管理。

相关内容

最新更新