count()在MongoDB中是一个很慢的操作,具体如何提高count()的速度?
我有一个名为ParseRequest的集合。它用共享密钥id进行着色。可能不是最佳选择,但现在我认为这并不重要,因为该集合只有40000个文档。 在本例中,我关注ParseRequest集合的两个属性:processed(布尔)和parsed(布尔) 我需要运行此查询,并且我希望它能够快速运行: db。ParseRequest.count({已处理:true,已分析:true}) 所以我尝试了两种不同的方法:count()在MongoDB中是一个很慢的操作,具体如何提高count()的速度?,mongodb,Mongodb,我有一个名为ParseRequest的集合。它用共享密钥id进行着色。可能不是最佳选择,但现在我认为这并不重要,因为该集合只有40000个文档。 在本例中,我关注ParseRequest集合的两个属性:processed(布尔)和parsed(布尔) 我需要运行此查询,并且我希望它能够快速运行: db。ParseRequest.count({已处理:true,已分析:true}) 所以我尝试了两种不同的方法: 在已处理和已解析的 包含已处理并解析为碎片密钥 这两种方法都可以提高性能,但还不够,上
是的,我不理解为了计算特定条件的count(),需要扫描整个索引树,但请原谅我与SQL Server的比较,在SQL Server中,它也是一个完整的索引,但不知何故,count(*)更快,其他条件相同。那么在MongoDB中有什么技巧可以使用吗 我会尝试升级到至少2.4.x版。count()在2.3.2中发布了一个性能修复程序 Mongodb count查询可能重复的速度很慢,因为它必须扫描整个二叉树才能找到匹配的文档。您仍然可以通过创建适当的索引来提高性能。您是否尝试使用
.explain()
运行它以确认是否正在使用索引?您使用的是什么版本的MongoDB?