MongoDB-比较分片与无分片之间的查询速度
我有两个名为user和user\u no\u shard的集合 用户集合包含位于shard_0中的100万个文档和位于shard_1中的100万个文档 用户\u no \u碎片集合包含位于碎片0中的100万个文档 我对这些集合使用“查找”命令。查找用户集合的所有文档需要6分钟,查找用户无碎片集合的所有文档需要3分钟 理论上,两个查询的时间是相等的。但这并不等同MongoDB-比较分片与无分片之间的查询速度,mongodb,Mongodb,我有两个名为user和user\u no\u shard的集合 用户集合包含位于shard_0中的100万个文档和位于shard_1中的100万个文档 用户\u no \u碎片集合包含位于碎片0中的100万个文档 我对这些集合使用“查找”命令。查找用户集合的所有文档需要6分钟,查找用户无碎片集合的所有文档需要3分钟 理论上,两个查询的时间是相等的。但这并不等同 请帮忙解释 用户集合包含位于shard_0中的100万个文档和位于shard_1中的100万个文档。这意味着用户集合中总共存在200万个
请帮忙解释 用户集合包含位于shard_0中的100万个文档和位于shard_1中的100万个文档。这意味着用户集合中总共存在200万个文档,而用户无切分集合中只有100万个文档。在这种情况下进行比较是不合适的 在user_no_shard collection中有200万个文档,与user collection进行比较是合适的
在适当配置分片后,mongodb选择适当的分片进行集合扫描,跳过要扫描的文档的一半。两个集合是否具有相同的索引?使用
db.user.getIndexes()
查找它。另外,在执行查询时,请查看explain
函数,即:db.collections.find({}).explain()
。您将看到mongo是如何执行查询的,它是否使用索引以及如何执行和执行更多:请参阅:您的意思是mongo顺序扫描碎片,而不是并发扫描?那么集合文档的划分并没有提高查询速度?