mongodb - 将具有不同键的数据组合到一个集合中会影响查询性能吗?
问题描述
我正在尝试将各种联系活动记录到“活动”集合中。电子邮件活动将使用电子邮件地址查找/更新(contactId 未知),但非电子邮件活动将只能依赖于 contactId 作为键(因为电子邮件不一定在该数据中可用)。
混合简化了数据库设计,但不值得对性能造成任何重大影响,因为可伸缩性也是一个问题。
[与此处的类似问题相比,编辑以进行澄清:Mongodb:多个集合或一个带有索引的大集合
具体来说,我正在尝试比较针对单个集合运行 2 个查询(每个活动类型一个,每次基于不同的键)与针对 2 个不同集合运行相同的 2 个查询的性能影响。而不是一般的数据建模问题,我有兴趣了解当查询数据的很大一部分由于缺少密钥而必须被数据库引擎忽略时,查询性能是否会受到显着影响。
您的想法表示赞赏!
解决方案
上面的评论中提到了一些好的考虑......并且在安全方面犯了错误,因为从 DBA 的角度来看,这将更容易索引和管理。
推荐阅读
- r - 包含每周数据的数据透视表
- xpath - 使用 XPath 查找没有 ALT 属性的图像
- c# - 在asp.net c# web应用程序中,数据没有被插入到mysql数据库中
- oracle - 如何创建具有多列的表类型并在存储过程中使用它?
- python - Django 获得不包括周末的截止日期
- c++ - 将 C 数组传递给在类范围内声明的静态函数
- c++ - 模板函数中默认参数的实例化点
- arrays - Bash Shell 中的数组
- .net - .NET MS Interop Word 未在 UTF8 网页中保存文档
- java - 使用 Apache CXF WebClient 在 WAS 8.5 中获取证书链接错误