【发布时间】:2018-09-05 07:02:45
【问题描述】:
我有两种文件:
{
field1: value1,
field2: value2,
category: cpp
}
和
{
field1: value1,
field2: value2,
category: cs
}
我有大约 300000 个属于第一类 (cpp) 的文档和大约 400000 个属于第二类 (cs) 的文档。在这两种情况下,除了category 之外,所有字段都相同。
读取操作哪个选项更快:
为每个类别创建单独的集合
只有一个集合并在
category字段上添加索引。
【问题讨论】:
-
您需要告诉我们更多关于您的阅读模式的信息。你是否例如在一个查询中需要两个类别的文档?诸如备份或安全性或其他性能之类的非功能性主题呢?单个字段的索引?
-
@dnickless 1. 我可以对不同的文档使用不同的查询。 2.我可以在这个字段(类别)上添加索引,但这会更快吗?
-
不,不会。如果您将所有文档保存在同一个集合中,并且需要对每个查询进行过滤,那么过滤将付出代价 - 没有什么是免费的...... ;) 因此,如果这些文档彼此没有任何关系,除了它们在这个阶段碰巧有类似的字段,然后一定要把它们放在不同的集合中!
标签: mongodb